如果我的数据框具有一列单调递增的值,例如:
x
1
2
3
4
1
2
3
1
2
3
4
5
6
1
2
我如何添加一列来对每个递增序列进行分组,从而导致:
x y
1 1
2 1
3 1
4 1
1 2
2 2
3 2
1 3
2 3
3 3
4 3
5 3
6 3
1 4
2 4
我只能想到使用一个缓慢的循环。
最佳答案
您可以选择cumsum
函数来实现。
> x <- c(1,2,3,4,1,2,3,1,2,4,5,1,2)
> cumsum(x==1)
[1] 1 1 1 1 2 2 2 3 3 3 3 4 4
关于r - 按数据帧中每个递增顺序分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49898643/