df <- data.frame(a = c(1, 1, NA, 0, 1, 0),
b = c(0, 1, NA, NA, 0, 1),
c = c(NA, 0, NA, 0, 1, NA),
d = c(1, NA, NA, 1, 1, 0))
rowSums(df)
#[1] NA NA NA NA 3 NA
rowSums(df, na.rm=T)
#[1] 2 2 0 1 3 1
我得到了第一个,但我的假设和希望是,第三次观察会回来NA
。有没有办法让它返回NA以进行第三次观测?
这是一个选择:
rowSums(df, na.rm = TRUE) * NA ^ (rowSums(!is.na(df)) == 0)
# [1] 2 2 NA 1 3 1
anything ^ 0
在R中等于1。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句