R data.table获取by块的索引

时间:2015-01-21 16:23:57

标签: r data.table

data.table包中,有一些可用的变量,例如.N.BY。是否还有一个保存该组中的索引,e.x。从每个组中的1开始,我可以在以下命令中使用.IDX

DT[order(year), indexOfYear := .IDX, by = list(country, sector)]

这对于使用时间面板非常有帮助。提前谢谢!

1 个答案:

答案 0 :(得分:2)

更新:使用rowid

data.table的当前开发版本(有关如何安装,请参阅here)为此情况提供了新实现的便捷功能:rowid(或rowidv)。< / p>

DT[, indexOfYear := rowid(country,sector)]

原始答案:

正如Ananda Mahto和David Arenburg在上面的评论中指出的那样

DT[order(year), indexOfYear := seq_len(.N), by = list(country, sector)]

正是我要求的,索引每个组中的行。