r - 在向量中将非连续的加一
问题描述
我有一个 1 和 0 的向量。我想用向量中的“点”替换 1s。
例如我想改变
x = c(1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1)
至
1 1 1 0 2 2 2 0 0 3 0 4
一行中的 1 和 0 的数量可以改变。
解决方案
这是一种方法...
x = c(1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1)
x[x==1] <- cumsum(c(x[1], diff(x)) == 1)[x==1]
x
[1] 1 1 1 0 2 2 2 0 0 3 0 4
推荐阅读
- makefile - 如何为verifone(vx520或vx820)创建make文件
- optaplanner - 不指定出发地点的接送学生
- wordpress - wp_get_attachment_url 生成不同的链接
- entity-framework - EF 6 自动延迟加载父导航属性(WCF 循环引用)
- excel - 如果单元格不为空,则 VBA 脚本设置背景颜色
- vb.net - VB 用 Else 语句嵌套 Main
- reactjs - esri 要素层中的 enablePermanentHighlight
- c# - 网格视图显示 C#
- php - WordPress 中的计算引擎无法正常工作
- python - python请求库重定向新页面以发布请求