library(dplyr)
dat <-
data.frame(id = rep(c(1,2,3,4), each = 3),
value = c(NA, NA, NA, 0, 1, 2, 0, 1, NA, 1, 2,3))
dat %>%
dplyr::group_by(id) %>%
dplyr::summarise(value_sum = sum(value, na.rm = T))
# A tibble: 4 x 2
id value_sum
1 0
2 3
3 1
4 6
如果一个组中的所有条目都是NA,有什么方法可以返回NA吗?例如,id 1
的所有条目都是NA,所以我希望value_sum
也是NA。
# A tibble: 4 x 2
id value_sum
1 NA
2 3
3 1
4 6
2条答案
按热度按时间nuypyhwy1#
一种方法是使用if/else语句:如果全部为Na,则返回NA,否则返回sum():
fjaof16o2#
我们可以使用
fsum
或使用
dplyr