我有一个长格式的表,其中随时间变化的数据仅按 id 出现一次,如下所示
dt<-data.table(
ID=c(rep(1,3),rep(2,3)),
Time=rep(1:3,2),
Sex=c("M",NA,NA,"F",NA,NA),
V1=c(1.1,1.2,1.3,2.1,2.2,2.3)
)
dt
ID Time Sex V1
1: 1 1 M 1.1
2: 1 2 <NA> 1.2
3: 1 3 <NA> 1.3
4: 2 1 F 2.1
5: 2 2 <NA> 2.2
6: 2 3 <NA> 2.3
我想用Time==1时Sex的值来填充Sex中缺失的值,即通过ID跨Time时刻重复值,这样dt就变成
ID Time Sex V1
1: 1 1 M 1.1
2: 1 2 M 1.2
3: 1 3 M 1.3
4: 2 1 F 2.1
5: 2 2 F 2.2
6: 2 3 F 2.3
我怎样才能做到这一点?
Thanks