r - 为什么 R 不计算标准误差函数的值
问题描述
我想计算包含 NA 和分组的数据集的平均值的标准误差。我已经包含了 na.rm = TRUE,但 R 仍然不会计算标准误差
我创建了一个标准错误函数
se <- function(x, na.rm = TRUE){
sd(x)/sqrt(length(x))
}
并在按 col_1 分组后计算我的数据的平均值和标准误差。
library(dplyr)
df <- data.frame(col_1 = c("a", "a","a","B", "B","B","C", "C", "C"),
col_2 = c(2, 5, 3, NA, NA, NA, 5, 8, NA))
mean <- df %>%
group_by(col_1)%>%
summarise(mean = mean(col_2, na.rm = TRUE))
std.err <- df %>%
group_by(col_1) %>%
summarise(std.err = se(col_2, na.rm = TRUE))
平均值按预期工作。我得到了 A 组和 C 组的结果,但没有 B 组,因为它完全是 NA。但是,std.err 为 B 组和 C 组提供了 NA。如何让 R 计算 C 组的标准误差?