我有如下示例数据:
library(data.table)
dat <- fread("Survey Variable_codes_2022
D D1
A A1
B B1
B B3
B B2
E E1
B NA
E NA")
对于具有Variable_codes_2022==NA
的两行,我希望递增变量code,使其变为:
dat <- fread("Survey Variable_codes_2022
D D1
A A1
B B1
B B3
B B2
E E1
B B4
E E2"
因为列Variable_codes_2022
是字符串变量,所以数字不按数字顺序排列。
我不知道从哪里开始,我想知道是否有人可以帮助我在正确的轨道上。
4条答案
按热度按时间jljoyd4f1#
我们可以这样做:
1.分组
1.排列和
mutate
.为了保持原来的顺序,我们可以先创建id,然后重新排列:
第一个
b09cbbtk2#
data.table
选项使用rleid
,如下所示:创建于2022年12月1日,reprex v2.0.2
dy2hfwbg3#
drkbr07n4#
rowid
的解决方案。向样本中添加了一个额外的元素,以便针对多个缺失进行测试