我很确定已经发布了类似的问题,但我似乎无法找到 它。 希望有人可以帮助我
我有两个数据表,例如
x1 = data.table(index1 = c(NA,NA,3,4,5))
x2 = data.table(index2 = c(NA,5,NA,NA,5))
我想要做的是在x1中创建另一个列,说“index3” 以下行值:
如果x1的行值不是NA,则将其行值设为“index3” 如果是NA,则将index2行值设置为“index3”
,无论它是否为NA所以最后,我应该有这个
x1 = data.table(index1 = c(NA,NA,3,4,5),index3 = c(NA,5,3,4,5))
我想知道是否存在data.table相关的答案或者a 发出矢量的可能性 index3 = c(NA,5,3,4,5) 这样我就可以使用x1 [,“index3”:= index3,= FALSE]将新列添加到x1
答案 0 :(得分:1)
尝试:
> x1[,index3:=ifelse(is.na(index1),x2$index2,index1),]
> x1
index1 index3
1: NA NA
2: NA 5
3: 3 3
4: 4 4
5: 5 5