重新编码R中缺少的二项式变量

问题描述 投票:0回答:2

我有以下变量:

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语法吗?

r statistics categorical-data
2个回答
0
投票

当然可以。试试这个:

var2 <- ifelse(variable1 == 0,
               0,
               variable2)
var3 <- ifelse(variable1 == 0,
               0,
               variable3)

0
投票

除了wusel的答案,以下是几种更常见的解决方法。

无需使用ifelse即可填写NA值:

variable2[is.na(variable2)] <- 0
variable3[is.na(variable3)] <- 0

基于没有variable1的基于ifelse的索引:

variable2[variable1 == 0] <- 0
variable3[variable1 == 0] <- 0
© www.soinside.com 2019 - 2024. All rights reserved.