【发布时间】:2020-03-25 07:57:32
【问题描述】:
我想在子组列中生成序列,例如我有两列 id1,val,想按 id1,val 对数据进行排序,然后为 id1 生成计数器。
输入
input <- data.frame("id1"=c(1,1,1,1,2,2,2),val=c(2,3,4,1,4,3,5))
预期输出
id1,val,grp
1,1,1
1,2,2
1,3,3
1,4,4
2,3,1
2,4,2
2,5,3
以前的参考帖子:
Count for sub group using .grp in data.table
Numbering rows within groups in a data frame
在代码下方使用(我正在尝试在大数据上使用代码并寻找解决方案,因此我不需要在生成序列之前添加额外的步骤来对“val”列的数据进行排序)
input[, new1:=seq_len(.N), by=c('id1')]
【问题讨论】:
标签: r data.table