我正在将两个二进制变量重新编码为新变量,以便第一个变量中的任何 1 在新变量中取 0,并保留第二个变量中的所有数字。下面的代码显示了我想要生成的逻辑。但是,当我运行此代码时,使用 ifelse() 重新编码只是重新创建 x2,而不合并使用 x1 的 1 作为 0 的第一个 ifelse() 行。想法?
set.seed(123)
x1 <- sample(c(0,1,NA), 20, replace = TRUE)
x2 <- sample(c(0,1,NA), 20, replace = TRUE)
recode <- ifelse(x1 == 1, 0, NA)
recode <- ifelse(x2 == 1, 1, recode)
recode <- ifelse(x2 == 0, 0, recode)
table(recode); table(x2)
谢谢