如何为gtsummary表格的分组表头添加脚注?
解决gtsummary分组表头添加脚注的问题
如果需要在表格底部添加关联到分组表头的脚注,只需调整modify_table_styling参数,确保脚注正确绑定到分组单元格:
library(gtsummary) Model1 <- glm(response ~ age, trial, family = binomial(link = "logit")) %>% tbl_regression(exponentiate = TRUE, include = age) Model2 <- glm(response ~ age + grade, trial, family = binomial(link = "logit")) %>% tbl_regression(exponentiate = TRUE, include = age) Model <- tbl_stack(list(Model1, Model2), group_header = c("Model 1", "Model 2")) # 为Model 1分组表头添加底部关联脚注 Model <- Model |> modify_table_styling( columns = groupname_col, rows = groupname_col == "Model 1", footnote = "Model 1: Not adjusted", # 禁用自动缩写,避免脚注文本被截断 footnote_abbrev = NULL ) Model
如果需要脚注直接显示在Model 1分组表头的下方(而非表格底部),需要通过插入新行实现:
library(gtsummary) library(dplyr) Model1 <- glm(response ~ age, trial, family = binomial(link = "logit")) %>% tbl_regression(exponentiate = TRUE, include = age) Model2 <- glm(response ~ age + grade, trial, family = binomial(link = "logit")) %>% tbl_regression(exponentiate = TRUE, include = age) Model <- tbl_stack(list(Model1, Model2), group_header = c("Model 1", "Model 2")) # 定位Model 1分组行的索引 model1_row <- which(Model$table_body$groupname_col == "Model 1") # 在分组行下方插入脚注行并设置样式 Model <- Model |> modify_table_body( ~ .x %>% # 插入新行到Model 1分组行之后 slice(c(1:model1_row, model1_row + 0.5, (model1_row + 1):n())) %>% mutate( # 设置脚注文本 groupname_col = ifelse(row_number() == model1_row + 1, "Model 1: Not adjusted", groupname_col), # 清空其他列内容,让脚注跨列显示 across(c(label, all_of(Model$table_header$column)), ~ ifelse(row_number() == model1_row + 1, NA, .)) ) ) |> # 调整脚注行样式:合并所有列、小号斜体、左对齐 modify_table_styling( rows = groupname_col == "Model 1: Not adjusted", columns = everything(), align = "left", text_format = ~ style_text(., size = "small", italic = TRUE), merge_across = TRUE ) Model
内容的提问来源于stack exchange,提问作者ll l
相关产品推荐
相关产品推荐

