我正在尝试执行rowSums,但最后一行的计数为零,我需要将其设置为“ NA”。
我的df是
fab.setOnClickListener { view ->
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show()
}
我基于此链接使用了此代码; Sum of two Columns of Data Frame with NA Values
a b c sum
1 1 4 7 12
2 2 NA 8 10
3 3 5 NA 8
4 NA NA NA NA
任何建议将不胜感激
答案 0 :(得分:0)
对于每一行,检查是否全部都是NA,如果是,则返回NA;否则,请应用sum
。我们已经选择了a
,b
和c
列,尽管这是所有列,因为张贴者指出可能还会有其他列。
sum_or_na <- function(x) if (all(is.na(x))) NA else sum(x, na.rm = TRUE)
transform(df, sum = apply(df[c("a", "b", "c")], 1, sum_or_na))
给予:
a b c sum
1 1 4 7 12
2 2 NA 8 10
3 3 5 NA 8
4 NA NA NA NA
df
以可复制的形式假定为:
df <- structure(list(a = c(1L, 2L, 3L, NA), b = c(4L, NA, 5L, NA),
c = c(7L, 8L, NA, NA)),
row.names = c("1", "2", "3", "4"), class = "data.frame")