我有一个由 0 和 1 组成的大矩阵。 我想求出1s之间的距离。
例如,如果我将矩阵的第一行作为
0 0 1 0 1 1 0
我想要输出
3 2 1
3是第一个1的位置 2 是第一个和第二个 1 之间的距离 1是第二个和第三个1的位置
我该如何实现这个目标?
最佳答案
一个选项是 which
与 diff
。将向量
转换为逻辑向量,用which
找到值为1的索引,并得到索引位置的差异
erence
i1 <- which(as.logical(v1))
out <- c(i1[1], diff(i1))
out
#[1] 3 2 1
数据
v1 <- c(0, 0, 1, 0, 1, 1, 0)
关于r - 如何找到序列矩阵中两点之间的距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58982661/