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

合并gtsummary表格列时出现多余脚注的问题求助

解决gtsummary合并列后重复脚注的问题

问题原因

用tbl_regression()生成回归表并开启exponentiate = T时,工具默认会给estimate列添加说明脚注(比如“OR = Odds Ratio”)。合并estimate和CI列后,这个默认脚注没有被完全清除,就会和你自定义的脚注重复显示。

解决方案

通过两个关键操作清除默认脚注并保留自定义脚注:

  • 在合并列时直接清除estimate列的默认脚注
  • 添加自定义脚注时强制覆盖所有原有脚注

修改后的完整代码

# 测试数据
set.seed(123)
data <- data.frame(Y = sample(x=0:1, size = 100, replace = T),
                   X1 = sample(x=1:10, size = 100, replace = T),
                   X2 = sample(x=0:1, size = 100, replace = T))

mvreg <- glm(Y ~ X1 + X2, data = data, family = binomial) %>%
  tbl_regression(pvalue_fun = function(x) style_pvalue(x, digits = 3, prepend_p = F), exponentiate = T) %>%
  # 合并estimate与完整CI列,同时清除该列默认脚注
  modify_table_styling(
    column = estimate,
    cols_merge_pattern = "{estimate} ({conf.low}, {conf.high})", # 补充conf.high才是完整的95%CI
    footnote = NULL, # 清除列级默认脚注
    footnote_abbrev = NULL) %>%
  modify_header(estimate ~ "**aOR (95% CI)**") %>%
  modify_column_hide(columns = c(conf.low, conf.high)) %>%
  bold_labels() %>%
  italicize_levels() %>%
  bold_p(t = 0.05) %>%
  # 添加自定义脚注,用override=TRUE强制覆盖所有原有脚注
  modify_footnote(estimate ~ "aOR = Adjusted Odds Ratio, CI = Confidence Interval", override = TRUE)

mvreg

关键说明

  1. 原代码的cols_merge_pattern只写了conf.low,这会导致CI只显示下限,补充conf.high才能生成完整的“(下限, 上限)”格式的置信区间
  2. modify_table_styling里的footnote = NULL会直接清除estimate列的默认说明脚注
  3. modify_footnote的override = TRUE参数会强制替换该列所有已存在的脚注,确保只保留你自定义的那一条

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 08:42:17