当变量增加时,在数据框中创建分组变量

时间:2016-04-11 15:06:57

标签: r dataframe

我有以下示例data.frame

data.frame(V1=rep(1:5,times=5))

我想创建另一个变量,将我的观察结果分组,规则应该是每当V1增加时,观察结果都属于同一组。

结果应该是:

data.frame(V1=rep(1:5,times=5),V2=rep(1:5,each=5))

到目前为止,我所考虑的唯一解决方案并不是真正有效,其他任何人都有关于如何在没有循环的情况下做到这一点的提示?

1 个答案:

答案 0 :(得分:1)

我们可以使用ave

 with(d1, ave(V1, V1, FUN= seq_along))

或者

with(d1, cumsum(c(TRUE,diff(V1)<0)))

正如@Laterow在评论中提到的那样,<0可以替换为<1,以便只对增加的值进行分组。

相关问题