R data.table 获取 by 块的索引

R data.table get index for the by blocks

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

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

这对使用时间面板很有帮助。提前致谢!

更新:使用rowid

当前的开发版本data.table(安装方法见here)针对这种情况新增了一个方便的功能:rowid(或rowidv) .

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

原回答:

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

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

完全按照我的要求进行,为每个组中的行编制索引。