在data.table
包中,有一些可用的变量,例如.N
或.BY
。是否还有一个保存该组中的索引,e.x。从每个组中的1开始,我可以在以下命令中使用.IDX
:
DT[order(year), indexOfYear := .IDX, by = list(country, sector)]
这对于使用时间面板非常有帮助。提前谢谢!
答案 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)]
正是我要求的,索引每个组中的行。