这也许是个愚蠢的问题。但我想在每组数据之前插入一个角色。我在网上能找到的只是如何在每个组后插入一行。此外,插入的行将有一个代表每个 ID 的序列号。
例如,我有一个像这样的数据表
df
ID TIME VAR VALUE
101 07/02 V1 9
101 07/03 V2 NA
101 07/03 V3 10
221 06/01 V1 2
221 07/03 V2 4
我想要类似的东西:
ID TIME VAR VALUE
101 NA sequence 1
101 07/02 V1 9
101 07/03 V2 NA
101 07/03 V3 10
221 NA sequence 2
221 06/01 V1 2
221 07/03 V2 4
真实的表有大约 1400 万行,有 14,000 个唯一 ID。有没有快速更新表格的方法?谢谢你!
可能会更快,因为它批量进行 rbind:
> tbl[, .SD
][, .N, ID
][, VALUE := .I
][, VAR := 'sequence'
][, N := NULL
][, rbind(.SD, tbl, fill=T)
][order(ID, VAR != 'sequence', TIME)
][, .(ID, TIME, VAR, VALUE)
]
ID TIME VAR VALUE
1: 101 NA sequence 1
2: 101 07/02 V1 9
3: 101 07/03 V2 NA
4: 101 07/03 V3 10
5: 221 NA sequence 2
6: 221 06/01 V1 2
7: 221 07/03 V2 4
>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)