我的数据框看起来像这样:
ID var1 var2 var3
per1 1 NA 3
per2 3 NA 5
per3 NA 4 6
per4 4 7 9
per5 7 NA NA
per6 NA 8 NA
我想用第3列(var2)中的值替换第2列(var1)中的缺失值,但前提是缺少var1中的值。所以输出应该如下所示:
ID var1 var2 var3
per1 1 NA 3
per2 3 NA 5
per3 4 4 6
per4 4 7 9
per5 7 NA NA
per6 8 8 NA
我认为这样的事情会奏效:
df$var1[is.na(df$var1)] <- df$var2
但不幸的是,它没有,我收到以下错误消息:
Warning message:
In df$var1[is.na(df$var1)] <- df$var2.2 :
number of items to replace is not a multiple of replacement length
我如何实现这一目标?
答案 0 :(得分:4)
您可以执行以下操作:
df$var1[is.na(df$var1)] <- df$var2[is.na(df$var1)]