2

他の 3 つの変数の値に基づいて、新しい変数をコーディングしようとしています。具体的には、すべての変数が 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 の 2 桁目は正しくは 0 ですが、y2 で参照すると NA になります。なぜこれが起こるのかについて何か考えはありますか?

4

3 に答える 3