- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用以下代码生成一个随机矩阵,其中一些元素 = 1 在对角线附近,其余元素 = 0。(这基本上是沿着主对角线的随机游走。)
n <- 20
rw <- matrix(0, ncol = 2, nrow = n)
indx <- cbind(seq(n), sample(c(1, 2), n, TRUE))
rw[indx] <- 1
rw[,1] <- cumsum(rw[, 1])+1
rw[,2] <- cumsum(rw[, 2])+1
rw2 <- subset(rw, (rw[,1] <= 10 & rw[,2] <= 10))
field <- matrix(0, ncol = 10, nrow = 10)
field[rw2] <- 1
field
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 0 1 1 1 0 0 0 0 0 0
[2,] 0 0 0 1 0 0 0 0 0 0
[3,] 0 0 0 1 0 0 0 0 0 0
[4,] 0 0 0 1 1 1 1 0 0 0
[5,] 0 0 0 0 0 0 1 1 0 0
[6,] 0 0 0 0 0 0 0 1 0 0
[7,] 0 0 0 0 0 0 0 1 0 0
[8,] 0 0 0 0 0 0 0 1 1 1
[9,] 0 0 0 0 0 0 0 0 0 0
[10,] 0 0 0 0 0 0 0 0 0 0
下一步,我想将 1 元素右侧/上侧的 0 元素替换为 1。对于上述矩阵,所需的输出将是:
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 0 1 1 1 1 1 1 1 1 1
[2,] 0 0 0 1 1 1 1 1 1 1
[3,] 0 0 0 1 1 1 1 1 1 1
[4,] 0 0 0 1 1 1 1 1 1 1
[5,] 0 0 0 0 0 0 1 1 1 1
[6,] 0 0 0 0 0 0 0 1 1 1
[7,] 0 0 0 0 0 0 0 1 1 1
[8,] 0 0 0 0 0 0 0 1 1 1
[9,] 0 0 0 0 0 0 0 0 0 0
[10,] 0 0 0 0 0 0 0 0 0 0
我已经尝试过
fill <- function(row) {first = match(1, row); if (is.na(first)) {row = rep(1, 10)} else {row[first:10] = 1}; return(row)}
field2 <- apply(field, 1, fill)
field2
但这给了我:
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 0 0 0 0 0 0 0 0 1 1
[2,] 1 0 0 0 0 0 0 0 1 1
[3,] 1 0 0 0 0 0 0 0 1 1
[4,] 1 1 1 1 0 0 0 0 1 1
[5,] 1 1 1 1 0 0 0 0 1 1
[6,] 1 1 1 1 0 0 0 0 1 1
[7,] 1 1 1 1 1 0 0 0 1 1
[8,] 1 1 1 1 1 1 1 1 1 1
[9,] 1 1 1 1 1 1 1 1 1 1
[10,] 1 1 1 1 1 1 1 1 1 1
谁能帮我解决这个问题吗?
干杯,
MCE
PS:如果第一行全为零(上面的代码可能会发生这种情况),则应将其更改为全零。
最佳答案
为什么不只是:
t(apply(field,1,cummax))
一个实例:
dput(field)
structure(c(0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0), .Dim = c(10L,
10L))
> field
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 0 0 0 0 0 0 0 0 0 0
[2,] 1 1 1 1 1 1 0 0 0 0
[3,] 0 0 0 0 0 1 0 0 0 0
[4,] 0 0 0 0 0 1 0 0 0 0
[5,] 0 0 0 0 0 1 1 1 1 1
[6,] 0 0 0 0 0 0 0 0 0 0
[7,] 0 0 0 0 0 0 0 0 0 0
[8,] 0 0 0 0 0 0 0 0 0 0
[9,] 0 0 0 0 0 0 0 0 0 0
[10,] 0 0 0 0 0 0 0 0 0 0
输出:
> t(apply(field,1,cummax))
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 0 0 0 0 0 0 0 0 0 0
[2,] 1 1 1 1 1 1 1 1 1 1
[3,] 0 0 0 0 0 1 1 1 1 1
[4,] 0 0 0 0 0 1 1 1 1 1
[5,] 0 0 0 0 0 1 1 1 1 1
[6,] 0 0 0 0 0 0 0 0 0 0
[7,] 0 0 0 0 0 0 0 0 0 0
[8,] 0 0 0 0 0 0 0 0 0 0
[9,] 0 0 0 0 0 0 0 0 0 0
[10,] 0 0 0 0 0 0 0 0 0 0
关于R:替换随机矩阵的 "off-diagonal"元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26326259/
假设我有这样的长格式数据: ID T X Y Z 1 1 x1 y1 z1 1 2 x2 y2 z2 1 3
我有一组向量,我想将它们堆叠在一起以创建矩阵的对角线条目。 从 c1 和 c2 创建 example_out 矩阵的简单方法是什么? c1 example_out [,1] [,2] [,
我使用以下代码生成一个随机矩阵,其中一些元素 = 1 在对角线附近,其余元素 = 0。(这基本上是沿着主对角线的随机游走。) n field [,1] [,2] [,3] [,4] [,
最终,我想使用reduce并找到一个产品。我知道如何使用 for 循环来执行这个问题,但我知道列表理解更快,而且通常更“Pythonic”,所以我尽最大努力理解如何在列表理解中进行我想要的移动。 这是
我正在尝试在我的页面的 elft 一侧做一个小的反馈选项卡。我创建了一个 div,将其旋转 90 度,然后将其放置在我页面的左侧。到目前为止,一切都很好。然后我想在悬停时添加一点动画。所以我只增加了底
NXN 矩阵中的“广义对角线”是 N 个单元格的选择,这样: 从每一行和每一列中只选择一个单元格 每个选定的单元格都包含一个非零值 我正在寻找一种算法来在 O(n^3) 中找到广义对角线。在我看来,以
我刚开始使用 mayavi,想知道是否有一种方法可以绘制表面的线框表示,看起来就像我在 matplotlib 3d 中使用的那样。 最小的例子: # sphere example import num
我如何填充 SVG 形状,不是使用单一颜色、图像或渐变,而是使用阴影图案,如果可能的话对角线。 已经过去 2 个小时了,我什么也没发现(至少在 2005 年之后)。 我认为可能的破解方法是使用阴影 P
是否可以创建一个 9x9 矩阵,其中“对角线”是另一个矩阵,其余为零,如下所示: 5 5 5 0 0 0 0 0 0 5 5 5 0 0 0 0 0 0 5 5 5 0 0 0 0 0 0 0 0 0
我试图执行如上所述的可折叠树的代码 here 。但似乎对 Angular 线法在 v4 中不适用(我可能是错的)。 对于: var diagonal = d3.svg.diagonal() 我收到此错
我只是想知道这是否在某种程度上是一个 css 属性: http://dl.dropbox.com/u/14645664/fhjfhgf.JPG 有人知道吗? 最佳答案 不,这绝对不是 CSS。 但是,
我正在尝试执行 collapsible-tree 中提到的代码 here .但似乎对 Angular 线方法不适用于 v4(我可能错了)。 对于: var diagonal = d3.svg.diag
我有一个用 geom_tile 创建的热图其中 x 和 y 值相同且排序方式相同。 我想在图表对角线的瓷砖周围放置黑色边框。 set.seed(42L) data <- data.frame(x =
假设我有一个数据表: lttrs % select(everything())%>% kable("html", escape = F) %>% kable_styling(bootstr
我正在尝试提高我的一些代码的性能,它首先根据两个索引构造一个 4x4 矩阵,对该矩阵进行对角化,然后将每个矩阵的每个对角化的特征向量存储在 4 维数组中。目前,我只是依次遍历所有索引,然后将特征向量存
我想使用 Apache POI 来绘制 Diagonal Border 但我找不到任何函数可以支持该功能。 我试过这个 setBorderDiagonal但它不起作用。 XSSFSheetCondit
我想调出一个带有剪断对 Angular 矩形形状的模态。它是一个在右下角和左上角被切 Angular 的矩形。此形状是 Microsoft Office 形状的一部分。 有没有办法得到这种形状的模态?
我正在尝试创建一个倾斜/对 Angular 线列表,但想避免有几个嵌套的 uls,有没有办法做到这一点,这是我目前的代码: Lorem Ipsu
我有一张大尺寸的图片。为了节省内存,所以我不想一次加载整个图片,所以我将图像分成 9 张图片,如 3X3 数组 036 147 258 我可以将较小的图像片段从一个图像滚动到相邻图像,例如从 (1,1
我想知道如何使用 df.style 方法突出显示 pandas 数据框的对角线元素。 我找到了这个官方链接,他们在其中讨论了如何突出显示最大值,但是我在创建函数来突出显示对角线元素时遇到了困难。 这是
我是一名优秀的程序员,十分优秀!