如何在 R 中的 ifelse 中使用加法?

How to use addition within ifelse in R?

我有一个 df data.frame,它包含 4 个变量 a, b, c and d 和 100 个观察值。变量 b and c

中存在缺失值
set.seed(123)
a <- runif(100, 0.005, 2.3)
b <- runif(100, 0.2, 4.3)
c <- runif(100, 0.03, 1.6) 
d <- runif(100, 0.05, 2.4)
df <- data.frame(a, b, c, d) 
df[c(1:4,8:10, 30:35, 60:65,90:97), c(2,3)]<-NA

head(df)
#          a        b         c          d
#1  0.6649904       NA        NA 1.89375188
#2  1.8141603       NA        NA 0.07216028
#3  0.9436020       NA        NA 1.88080482
#4  2.0315249       NA        NA 1.76406803
#5  2.1633724 2.179900 0.6620401 1.53080985
#6  0.1095522 3.850436 1.4119871 1.18014045

我想创建列 E,其中

if c = NA ==> E = a+d else E= a + b + c

我尝试使用 ifelse 进行操作,如下所示

df$E <- 0
df$E <- ifelse(df$c == NA, 
               df$a + df$d, 
               df$a+df$b+df$c)

代码运行但 E 列被 NA 填充。如有任何建议,我们将不胜感激?

简单地说:

df$E <- ifelse(is.na(df$c), 
           df$a + df$d, 
           df$a+df$b+df$c)