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)]
完全按照我的要求进行,为每个组中的行编制索引。
在 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)]
完全按照我的要求进行,为每个组中的行编制索引。