我正在使用 R,我想创建一个显示序列或排名的列,同时按两个因素(hhid 和句点)进行分组。
例如,我有这个数据集:
hhid perid
1000 1
1000 1
1000 1
1000 2
1000 2
2000 1
2000 1
2000 1
2000 1
2000 2
2000 2
我想添加一个名为“actno”的列,如下所示:
hhid perid actno
1000 1 1
1000 1 2
1000 1 3
1000 2 1
1000 2 2
2000 1 1
2000 1 2
2000 1 3
2000 1 4
2000 2 1
2000 2 2
如果您有很多组或大量数据,data.table
是提高时间和记忆效率的方法
# assuming your data is in a data.frame called DF
library(data.table)
DT <- data.table(DF)
DT[, ActNo := seq_len(.N), by = list(hhid,perid)]
注意.N
通过分组给出子集中的行数(参见?data.table
更多细节)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)