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

带合计列的gtsummary表格如何用单条modify_header修改列头格式

gtsummary带合计列的分栏头与样本量分行展示实现方案

单条modify_header语句实现方法

你可以通过动态表达式判断列类型,在同一条modify_header中同时适配分组列与合计列的标签,无需拆分多步操作:

library(gtsummary)
library(dplyr)

# 示例数据集
trial <- select(trial, trt, age)

# 最终实现代码
trial %>%
  tbl_summary(by = trt) %>%
  add_overall() %>%
  modify_header(
    update = all_stat_cols() ~ 
      "**{dplyr::case_when(exists('level') ~ level, TRUE ~ 'Overall')}**<br>N = {N}"
  ) %>%
  as_kable()

实现说明

  • 报错原因:合计列(Overall列)没有内置的level或label动态变量,直接全局调用这两个变量会因为变量不存在抛出错误
  • 上述代码原理:通过exists('level')判断当前处理的列是否为分组列,是则调用内置的level变量取分组名,否则返回自定义的合计列名Overall,同时适配两类列的标签需求

高版本gtsummary(≥1.6.0)更简洁写法

可以直接用选择器分别指定分组列与合计列的标签,可读性更高:

trial %>%
  tbl_summary(by = trt) %>%
  add_overall() %>%
  modify_header(
    all_stat_cols(FALSE) ~ "**{level}**<br>N = {N}",
    stat_0 ~ "**Overall**<br>N = {N}"
  ) %>%
  as_kable()

内容的提问来源于stack exchange,提问作者maia-sh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:12:02