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

在R中按分组批量计算多变量五数概括及描述统计的简便方案

分组汇总统计简便实现方法

不用逐个变量手动计算,以下是两种常用数据分析工具的一键实现方案:

R语言实现

用dplyr+tidyr组合,自动遍历所有数值变量完成统计,代码如下:

# 加载依赖包
library(dplyr)
library(tidyr)

# 构造示例数据,实际使用时替换为读入你自己的数据即可,如 read.csv("你的数据文件路径")
df <- data.frame(
  group = c("A", "B", "A", "C", "A", "C", "B", "B"),
  height = c(15,12,14,13,15,9,12,17),
  weight = c(120,115,70,100,150,98,145,127),
  BMI = c(19,30,25,18,35,19,21,28),
  percentile = c(45,12,99,87,85,14,8,55)
)

# 一步生成目标结构汇总表
summary_result <- df %>%
  group_by(group) %>%
  # 对所有数值列批量计算所需统计量
  summarise(across(where(is.numeric), 
                   list(
                     min = min,
                     q25 = ~quantile(., 0.25, type = 2),
                     med = median,
                     q75 = ~quantile(., 0.75, type = 2),
                     max = max,
                     mean = mean,
                     sd = sd
                   ))) %>%
  # 转换为你需要的分层长表结构
  pivot_longer(
    cols = -group,
    names_to = c("variable", ".value"),
    names_sep = "_"
  )

运行后输出summary_result即为你要求的分组变量统计结构,如需导出为文本/表格,直接用write.csv()或者gt/flextable包格式化输出即可。

Python实现

用pandas即可完成批量计算,代码如下:

import pandas as pd

# 构造示例数据,实际使用时替换为 pd.read_csv("你的数据文件路径")
df = pd.DataFrame({
    "group": ["A", "B", "A", "C", "A", "C", "B", "B"],
    "height": [15,12,14,13,15,9,12,17],
    "weight": [120,115,70,100,150,98,145,127],
    "BMI": [19,30,25,18,35,19,21,28],
    "percentile": [45,12,99,87,85,14,8,55]
})

# 定义分位数统计函数
def q25(x): return x.quantile(0.25)
def med(x): return x.median()
def q75(x): return x.quantile(0.75)

# 批量计算并转换为目标结构
summary_result = df.groupby("group").agg(
    [min, q25, med, q75, max, "mean", "std"]
).stack(level=0).reset_index()
# 重命名列匹配要求
summary_result.columns = ["group", "variable", "min", "q25", "med", "q75", "max", "mean", "sd"]

运行后summary_result就是所需的汇总结果,变量增减不需要修改核心逻辑,直接运行即可自动适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:45:04