用一个来自另一个变量的值替换一个变量中的NAs

mal*_*ler 5 replace r

如何将变量VAR1的"NA"替换为第二个变量VAR2的值,以在R中创建第三个变量VAR3?数据如下所示:

 VAR1:    VAR2:
 1        NA
 3        NA
 NA       1 
 NA       3
 2        NA 
 NA       1
Run Code Online (Sandbox Code Playgroud)

之后它应该看起来像这样:

 VAR1:    VAR2:    VAR3:
 1        NA       1   
 3        NA       3
 NA       1        1
 NA       3        3
 2        NA       2
 NA       1        1  
Run Code Online (Sandbox Code Playgroud)

flo*_*del 7

一种方法是使用ifelse:

DF <- transform(DF, VAR3 = ifelse(!is.na(VAR1), VAR1, VAR2))
Run Code Online (Sandbox Code Playgroud)

其中,transform用于避免输入DF$一遍又一遍,但也许你会喜欢:

DF$VAR3 <- ifelse(!is.na(DF$VAR1), DF$VAR1, DF$VAR2)
Run Code Online (Sandbox Code Playgroud)