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

R语言中如何高效对多变量分组计算描述统计?

多变量分组描述统计的简洁实现方式

你可以用dplyr中的across()函数批量处理多变量,避免重复编写每个变量的统计代码,大幅简化代码:

基础优化版本

grouped_summary <- my_data %>% 
  group_by(group) %>% 
  summarize(
    # 批量指定要处理的变量与需计算的统计量
    across(
      c(variable1, variable2),
      list(mean = mean, median = median, sd = sd),
      na.rm = TRUE
    ),
    count = n()
  )

更灵活的变量选择

如果需要处理的变量数量多(比如所有数值型变量),可以用变量选择器进一步简化:

grouped_summary <- my_data %>% 
  group_by(group) %>% 
  summarize(
    # 处理所有数值型变量
    across(
      where(is.numeric),
      list(mean = mean, median = median, sd = sd),
      na.rm = TRUE
    ),
    count = n()
  )

或者匹配变量名前缀(比如所有以"variable"开头的变量):

across(starts_with("variable"), list(mean = mean, median = median, sd = sd), na.rm = TRUE)

整洁的长格式输出(可选)

如果需要更易读的长格式结果,可以用pivot_longer和pivot_wider调整输出结构:

long_summary <- grouped_summary %>% 
  pivot_longer(
    cols = -c(group, count),
    names_sep = "_",
    into = c("stat", "variable")
  ) %>% 
  pivot_wider(names_from = stat, values_from = value)

这个版本会输出每行对应一个分组+一个变量,包含mean、median、sd、count四个统计量,更适合后续分析或可视化。

内容的提问来源于stack exchange,提问作者sebastian.mendoza

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 22:05:10