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

如何在R中制作含分组均值(标准差)的连续变量表格

在R中生成均值(标准差)分组表格的解决方案

直接用dplyr+tidyr就能实现你要的格式,下面是具体步骤和示例代码(用内置数据集mtcars演示,你可以替换成自己的数据):

步骤1:加载必备包

library(dplyr)
library(tidyr)

步骤2:处理数据并生成目标表格

# 示例数据:把mtcars里的am列转为分组标签(对应你的男/女分组)
data <- mtcars %>%
  mutate(分组 = factor(am, levels = c(0,1), labels = c("男性", "女性")))

# 生成行是连续变量、列是分组的统计表格
result_table <- data %>%
  # 把所有连续变量转成长格式,方便分组计算
  pivot_longer(cols = c(mpg, disp, hp, drat), # 替换成你的连续变量列名
               names_to = "连续变量",
               values_to = "数值") %>%
  # 按变量和分组计算均值、标准差,合并成"均值(标准差)"格式
  group_by(连续变量, 分组) %>%
  summarise(统计值 = sprintf("%.2f(%.2f)", mean(数值), sd(数值)),
            .groups = "drop") %>%
  # 转回宽格式,分组作为列
  pivot_wider(names_from = 分组,
              values_from = 统计值)

# 查看结果
print(result_table)

代码说明

  • pivot_longer:把原本分散在多列的连续变量整合到一列,让后续分组计算更便捷。
  • sprintf:格式化输出字符串,%.2f表示保留两位小数,你可以根据需求改成%.1f(一位小数)或其他格式。
  • pivot_wider:把分组从行转成列,最终得到你要的“连续变量为行,分组为列”的表格结构。

进阶:生成美观的报告用表格

如果需要把表格导出成Word/HTML格式的美观表格,可以用gt包:

library(gt)

result_table %>%
  gt() %>%
  tab_header(title = "连续变量分组统计结果") %>%
  fmt_markdown(columns = everything())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 23:22:35