如何找到序列矩阵中两点之间的距离?

时间:2019-11-21 19:45:25

标签: r sequence distance

我有一个大矩阵,由0和1组成。 我想找到1s之间的距离。

例如,如果我将矩阵的第一行作为

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

我想要输出

 0  0  1  0  1  1  0

3是第一个1的位置 2是第一个和第二个之间的距离1 1是第二个和第三个1的位置

我如何做到这一点?

1 个答案:

答案 0 :(得分:3)

一个选项是whichdiff。将vector转换为逻辑,用which找到值为1的索引,并获得索引位置的diff 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)