我有以下变量:
variable1 = c(1,1,0,1,0,0,0,1,0,1,1,0,0,1);
variable2 = c(1,0,NA,1,NA,NA,NA,1,NA,0,0,NA,NA,1);
variable3 = c(1,1,NA,1,NA,NA,NA,0,NA,1,1,NA,NA,1)
我需要重新编码var2和var3,以便当var1 = 0时,var2和var3 = 0(不丢失)。 我可以在R中使用if / else语法吗?
答案 0 :(得分:1)
可以。试试这个:
var2 <- ifelse(variable1 == 0,
0,
variable2)
var3 <- ifelse(variable1 == 0,
0,
variable3)
答案 1 :(得分:1)
除了wusel的答案,还有以下几种常见的解决方法。
不使用ifelse
仅填写NA值:
variable2[is.na(variable2)] <- 0
variable3[is.na(variable3)] <- 0
基于variable1
而没有ifelse
的索引:
variable2[variable1 == 0] <- 0
variable3[variable1 == 0] <- 0