【发布时间】:2023-03-23 20:25:01
【问题描述】:
我试图在一个数据框中找到三个不同变量的总和,同时按另一个变量分组,但是有几个 NA。 NA 的总和被解释为零而不是 NA。这是一个例子:
my_data <- data.frame(Month = c("1995-01-01", "1995-01-01", "1995-01-01",
"1995-02-01", "1995-02-01"),
Value_1 = c(1, NA, 2, NA, NA),
Value_2 = c(2, 2, 3, NA, 1),
Value_3 = c(NA, NA, NA, NA, NA))
#summing through dplyr
my_data %>%
group_by(Month) %>%
summarise_each(funs(sum(.,na.rm = TRUE)))
#summing through base R
my_vars = c("Value_1", "Value_2", "Value_3")
aggregate(x = my_data[my_vars], by = my_data["Month"], FUN = sum,
na.rm = TRUE)
例如,对于两个月的 Value_3,我得到的总和为零而不是 NA。任何关于如何对 NA 求和以获得 NA 而不是零的建议将不胜感激。
【问题讨论】: