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

标签 r sequence distance

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

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

 0  0  1  0  1  1  0

我想要输出

3  2  1  

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

我该如何实现这个目标?

最佳答案

一个选项是 whichdiff。将向量转换为逻辑向量,用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/

相关文章:

r - 将 x=y 线添加到 ggplot2 中的 hexplot

r - 对满足两个条件的变量使用 mutate_at dplyr R

distance - 两个地理位置的曼哈顿距离

c++ - 寻找xyz之间的最小距离

javascript - 计算融合表中点之间的距离

r - data.table lapply .SD 随着列数的增加而大幅减慢

基于相同的种子,在 R 中复制 SAS (rancor) 中生成的随机正态分布?

php - Web 服务器如何处理请求?

scala - 将流参数转发给另一个函数的函数保留引用

postgresql - 在 PostgreSQL 中创建序列时出错