以下是部分示例数据:
dat<-read.table (text=" ID Time B1 T1 Q1 W1 M1
1 12 12 0 12 11 9
1 13 0 1 NA NA NA
2 10 12 0 6 7 8
2 14 0 1 NA NA NA
1 16 16A 0 1 2 4
1 14 0 1 NA NA NA
2 14 16A 0 5 6 7
2 7 0 1 NA NA NA
1 7 20 0 5 8 0
1 7 0 1 NA NA NA
2 9 20 0 7 8 1
2 9 0 1 NA NA NA
", header=TRUE)
我想更新T1列中重复ID的值1。对于第一个重复ID,应为值1,对于第二个重复ID,应为值2;对于第三个重复的ID,值为3,依此类推。我还想用空白单元格替换NA。下面是预期结果:
ID Time B1 T1 Q1 W1 M1
1 12 12 0 12 11 9
1 13 0 1
2 10 12 0 6 7 8
2 14 0 1
1 16 16A 0 1 2 4
1 14 0 2
2 14 16A 0 5 6 7
2 7 0 2
1 7 20 0 5 8 0
1 7 0 3
2 9 20 0 7 8 1
2 9 0 3
2条答案
按热度按时间yhuiod9q1#
您可以将
ifelse
across
与cumsum
一起用于每个组,如下所示:创建于2023年1月14日,使用reprex v2.0.2
sr4lhrrt2#
使用
data.table