我有一个由0和1组成的大矩阵。我想找到1s之间的距离。
例如,如果我有矩阵的第一行为
0 0 1 0 1 1 0
我想要输出
3 2 1
3是第一个的位置1 2是第一个和第二个之间的距离1 1是第二个和第三个1的位置
我该怎么做?
一种选择是which
使用diff
。将转换vector
为逻辑,找到值为1的索引,which
并获得diff
索引位置的误差
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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句