【发布时间】:2019-02-08 14:55:00
【问题描述】:
是否可以在 R 中创建一个列,每次另一列的组级别“重新出现”时以 1 的增量增加,即
视图(x)
vents Group Number of times present
1 1 1
2 1 1
3 1 1
4 2 1
5 1 2
6 1 2
7 2 2
8 2 2
9 3 1
10 2 3
11 3 2
12 3 2
13 2 4
14 1 3
15 1 3
(我想要的结果是“出现次数列”
假设上面的例子是我的数据框,我试过了:
x <- within(x, {Number of times present<- cumsum(c(1,abs(diff(Group))))})
但是,每次组级别更改时,这只会增加一(无论它是什么组以及它之前“重新出现”的次数的过去历史记录)
任何帮助将不胜感激(我的实际数据框非常大,但我猜测 for 循环可能是前进的方向?
谢谢
【问题讨论】:
-
你能发布
dput(x)的结果而不是图片吗?同时显示预期输出。 -
你在找
rleid -
不幸的是,聚类行的堆栈流问题虽然相似,但略有不同,因为“组”列不仅是 0 和 1,而且可以上升到 5。
标签: r