我有一个这样的数据框:
id <- c(1, 2, 3, 4, 5, 6, 7)
var1 <- c(1, NA, 2, NA, 1, 1, 2)
var2 <- c(1, 1, 2, 2, NA, 2, 2)
但是,我如何设法创建一个新向量,该向量从 var2 中获取值,并将其替换为 var1 中的 NA,否则只要从 var1 中获取值(1 或 2),只要它有一个值?
我在想类似的事情:
id <- c(1, 2, 3, 4, 5, 6, 7)
var1 <- c(1, NA, 2, NA, 1, 1, 2)
var2 <- c(1, 1, 2, 2, NA, 2, 2)
newvar <- c(1, 1, 2, 2, 1, 1, 2)
另一个数据帧也是如此,其中有更多向量:
id <- c(1, 2, 3, 4, 5, 6, 7)
var1 <- c(1, NA,2, NA,NA,1, 2)
var2 <- c(1, 1, 2, 2, NA,2, 2)
var3 <- c(2, 1, 2, 1, 1, 1, 2)
var4 <- c(1, 1, 2, NA,2, 1, 2)
在这种情况下,我想创建另一个向量“newvar”,它从 var2、var3 和 var4 中获取主导值,并将其替换为 var1 中的 NA。
因此,起点始终是 var1 中的内容。但是对于 id4 和 id5 fx,其他变量中没有显性值 - 然后我想用第一个变量中的值替换 NA,在这两种情况下,分别来自 var 2 和 var3 的值。
id <- c(1, 2, 3, 4, 5, 6, 7)
var1 <- c(1, NA,2, NA,NA,1, 2)
var2 <- c(1, 1, 2, 2, NA,2, 2)
var3 <- c(2, 1, 2, 1, 1, 1, 2)
var4 <- c(1, 1, 2, NA,2, 1, 2)
newvar <- c(1, 1, 2, 2, 1, 1, 2)
如何以简单的方式做到这一点?
谢谢!