R 如果至少有一个组件不是NA,则创建NA变为0的变量

R 如果至少有一个组件不是NA,则创建NA变为0的变量,r,database,R,Database,假设我有三个变量,想要创建第四个变量,叫做Total,它是a,B,C的和,但是。。。。如果缺失值(NA)出现在1或2个变量上,但不在三个变量中,则它们将变为0。如下例所示(最后一行) 到目前为止,我已经: data$Total <- A + B + C data$Totaldata$Total建议NA!=0.data$Total建议NA!=0.你好@Snoram,谢谢你的回答。我确实只需要一个名为Total的变量,它的结果是来自Total和Total3的结果。当我运行Total3的最新代

假设我有三个变量,想要创建第四个变量,叫做Total,它是a,B,C的和,但是。。。。如果缺失值(NA)出现在1或2个变量上,但不在三个变量中,则它们将变为0。如下例所示(最后一行)

到目前为止,我已经:

data$Total <- A + B + C

data$Total
data$Total建议NA!=0.
data$Total建议NA!=0.你好@Snoram,谢谢你的回答。我确实只需要一个名为Total的变量,它的结果是来自Total和Total3的结果。当我运行Total3的最新代码时,我仍然获得了第三个变量的NA。我只是从头开始再次运行代码,得到了相同的结果。。。也就是说,我在第三排没有得到NA。我犯了一个愚蠢的错误,代码工作得很好。谢谢你好@Snoram,谢谢你的回答。我确实只需要一个名为Total的变量,它的结果是来自Total和Total3的结果。当我运行Total3的最新代码时,我仍然获得了第三个变量的NA。我只是从头开始再次运行代码,得到了相同的结果。。。也就是说,我在第三排没有得到NA。我犯了一个愚蠢的错误,代码工作得很好。谢谢
data$Total <- A + B + C
data$Total2 <- rowSums(data[, c("A", "B", "C")])
data$Total2[rowSums(is.na(data[, c("A", "B", "C")])) %in% 1:2] <- 0
data
   A  B  C Total Total2
1 10 10 10    30     30
2 NA NA NA    NA     NA
3 10 NA NA    10      0
data$Total3 <- rowSums(data[, c("A", "B", "C")], na.rm = TRUE)
data$Total3[rowSums(is.na(data[, c("A", "B", "C")])) == 3] <- NA
data
   A  B  C Total Total2 Total3
1 10 10 10    30     30     30
2 NA NA NA    NA     NA     NA
3 10 NA NA    10      0     10