You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为含NA的分组多变量生成mean与sd统计表格

解决分组多变量均值&标准差计算(含NA值处理)

完整解决方案代码

# 加载必要工具包
library(dplyr)
library(tidyr)

# 构造带NA值的示例数据集
irisalt <- iris
irisalt[1, 1] <- NA
irisalt[52, 2] <- NA
irisalt[103, 3] <- NA

# 核心计算逻辑:按分组统计,保留非NA的有效数据
result <- irisalt %>%
  group_by(Species) %>%
  summarise(
    # 对所有非分组列计算均值和标准差,自动生成规范列名
    across(
      everything(),
      list(mean = ~mean(., na.rm = TRUE), sd = ~sd(., na.rm = TRUE)),
      .names = "{.col}_{.fn}"
    )
  )

# 查看结果
print(result)

关键逻辑说明

  • group_by(Species):按指定分组字段(Species)划分数据
  • across(everything(), ...):对所有非分组列批量应用统计函数;若只需计算指定变量,可替换为c(Sepal.Length, Sepal.Width)这类列名向量
  • list(mean = ~mean(., na.rm=T), sd = ~sd(., na.rm=T)):对每个变量同时计算均值和标准差,na.rm=TRUE仅忽略当前变量的NA值,不会删除整行,避免干扰其他变量的统计结果
  • .names = "{.col}_{.fn}":自动生成清晰的列名(如Sepal.Length_mean、Sepal.Length_sd),对应变量和统计类型

运行后将得到每个分组一行的结果,每个原始变量对应均值、标准差两列,完全匹配需求。

内容的提问来源于stack exchange,提问作者Mark Davies

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 11:15:08