以下のコードでは、なぜ2番目のifelse()
が評価されないのか分かりません。誰か説明できますか? ifelse
ステートメントを書き直すには?2番目のifelseが評価されないのはなぜですか?
最後の行のy1==1
とy2==1
が一致し、列結果は1
で埋められる必要があります。
df <- data.frame(x1=c(0,0,NA,NA,NA),y1=c(NA,NA,NA,NA,1),x2=c(0,NA,NA,0,NA),
y2=c(1,NA,NA,NA,1))
df$result <- with(df, ifelse((x1==0 & x2==0), 0, ifelse((y1==1 & y2==1), 1, 100)))
rowSums
で試すことができます示唆している 'NA'が真でも偽でもありません。条件x1 == 0&x2 == 0は 'T NA NA NA'を返します。この場合、' ifelse'は 'NA'を返します。 –