合并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
关键说明
- 原代码的
cols_merge_pattern只写了conf.low,这会导致CI只显示下限,补充conf.high才能生成完整的“(下限, 上限)”格式的置信区间 modify_table_styling里的footnote = NULL会直接清除estimate列的默认说明脚注modify_footnote的override = TRUE参数会强制替换该列所有已存在的脚注,确保只保留你自定义的那一条
内容的提问来源于stack exchange,提问作者user29732711
相关产品推荐
相关产品推荐

