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

如何用gtsummary按time分组生成指标统计表格(无需数据重塑)

使用gtsummary生成按时间分组的指标统计表格(无需重塑数据)

直接利用gtsummary的tbl_summary()函数结合分组参数即可实现需求,无需转换数据格式。以下是完整示例:

1. 构造示例数据集

library(gtsummary)
library(tidyverse)

set.seed(123) # 设置随机种子保证结果可重复
df <- tibble(
  ID = rep(1:50, each = 2),
  time = rep(c("基线", "随访"), 50),
  measure1 = rnorm(100, 50, 10),
  measure2 = rnorm(100, 20, 5),
  measure3 = rnorm(100, 70, 15)
)

2. 生成目标统计表格

# 生成按time分组的统计表格
stat_table <- df %>%
  tbl_summary(
    by = time, # 指定按time列分组
    include = c(measure1, measure2, measure3), # 仅纳入指标列,排除ID
    statistic = list(all_continuous() ~ "{mean} ({sd})") # 定义连续变量的统计量格式:均值(标准差)
  ) %>%
  # 调整表头样式,明确分组列的统计内容
  modify_header(
    label ~ "**指标名称**",
    stat_1 ~ "**{level}**<br>均值 (标准差)",
    stat_2 ~ "**{level}**<br>均值 (标准差)"
  ) %>%
  modify_caption("不同时间点的指标统计结果") %>% # 添加表格标题
  bold_labels() # 加粗指标名称,提升可读性

# 查看表格
stat_table

关键参数说明

  • by = time:将表格按time的不同取值拆分为多列,实现分组统计
  • statistic:自定义连续变量的统计量展示格式,这里指定为均值加标准差的形式
  • modify_header:优化表头显示,让每个分组列的统计内容更清晰

运行上述代码后,将得到以指标为行、不同时间点为列,每列展示对应指标均值和标准差的统计表格,全程无需对原数据集进行重塑操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 11:35:15