首页 > 解决方案 > 为什么 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 组的标准误差?

标签: rfunctiondplyrna

解决方案


推荐阅读