r - 如何找到序列矩阵中两点之间的距离?
问题描述
我有一个由 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
索引位置的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)
推荐阅读
- python - 根据不同的参数在Python pandas中计算多个月的字段
- kotlin - 无法使用 picocli 和 micronaut 连接数据库
- python - 如何查找某个范围内的所有像素值
- python - checkpoint.restore() 如何在 Tensorflow 中工作,注意神经机器翻译
- r - 是否有记录 CPU 使用率的 R 函数?
- javascript - 在滚动时反应工具提示触发 componentDidupdate
- flutter - 无法执行 HTTP 请求,没有与主机名关联的地址
- cppcheck - Cppcheck 停止检查未使用的StructMember
- php - 如何在不重新加载页面的情况下显示消息?
- database - 如何在 mongoDB 中查找和分组两个集合?