我正在尝试根据其他三个变量的值编写一个新变量。具体来说,如果所有变量都是 NA,我希望新变量取 NA,如果其中任何一个为 1,则应取 1,否则应取 0。但是,使用以下代码时遇到错误:
frame <- data.frame(x = c(NA,NA,1), x2 = c(NA, NA, 0), x3 = c(NA,0,0))
frame
y <- ifelse(is.na(frame$x) == TRUE & is.na(frame$x2) == TRUE & is.na(frame$x3) == TRUE, NA, 0)
y2 <- ifelse(frame$x == 1 | frame$x2 == 1 | frame$x3 == 1, 1, y)
y 的第二个数字正确为 0,但在 y2 中引用时变为 NA。知道为什么会这样吗?