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

如何使用gtsummary生成多连续变量的宽格式汇总表?

用gtsummary生成宽格式连续变量汇总表

实现步骤

1. 加载所需包并构造示例数据

library(gtsummary)
library(tidyverse)

# 构造包含多个连续变量的示例数据集
set.seed(123)
df <- tibble(
  年龄 = rnorm(100, 50, 10),
  体重 = rnorm(100, 70, 8),
  身高 = rnorm(100, 170, 6)
)

2. 生成基础长格式汇总表

先用tbl_summary()生成包含目标统计量的长格式表,可自定义需要展示的统计量(比如均值±标准差、中位数四分位距、最值):

tbl_long <- df %>%
  tbl_summary(
    type = everything() ~ "continuous",  # 所有变量按连续型处理
    statistic = everything() ~ c("{mean} ± {sd}", "{median} ({p25}, {p75})", "{min}, {max}")  # 定义统计量格式
  )

3. 转换为宽格式表格

通过modify_table_body()结合pivot_wider()将长格式转为宽格式,实现统计量按行、变量按列的展示:

tbl_wide <- tbl_long %>%
  modify_table_body(
    ~ .x %>%
      pivot_wider(
        id_cols = label,  # 以统计量名称为行标识
        names_from = variable,  # 以原数据变量名为列名
        values_from = stat_0  # 提取统计量数值
      )
  ) %>%
  modify_header(label = "**统计量**")  # 修改行标题为“统计量”

# 输出最终宽格式表格
tbl_wide

自定义说明

  • 若需调整统计量类型,直接修改statistic参数即可,比如只保留均值和中位数,或添加样本量{n}。
  • 要美化表格样式(如添加边框、调整字体),可结合gt()包的函数进一步修改,示例:tbl_wide %>% as_gt() %>% gt::tab_options(table.border.top.style = "solid")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 15:33:21