如何在gtsummary的tbl_summary中按by变量合并计数与百分比列
优化gtsummary分组表格:计数与百分比同列展示
无需拆分再合并表格,直接通过tbl_summary的自定义统计格式就能实现让每个分组的计数和百分比列放在一起的需求,以下是更简洁高效的实现方式:
实现代码
library(gtsummary) library(dplyr) tbl <- trial %>% select(response, grade, stage) %>% tbl_summary( by = stage, # 自定义统计量,将计数与百分比合并到同一列 statistic = all_categorical() ~ "{n} ({p}%)", missing = "ifany", digits = list( all_categorical() ~ 1, all_continuous() ~ 0 ), missing_text = "(Missing)" ) # 可选:优化列标题,显示分组名称及对应总样本量 tbl <- tbl %>% modify_header( all_stat_cols() ~ "**{level}**<br>(N={n})" )
代码说明
- 核心是在
statistic参数中直接定义"{n} ({p}%)",让每个分组列同时展示计数和百分比,省去拆分表格再合并的繁琐操作。 modify_header步骤可按需添加,它能让列标题同时显示分组名称和该组的总样本量,提升表格可读性。- 这种原生实现方式完全兼容gtsummary的各类格式调整功能,比临时过滤分组再合并的方法更高效且易维护。
内容的提问来源于stack exchange,提问作者Speck07
相关产品推荐
相关产品推荐

