如何在R的tbl_regression中横向展示交互项系数
实现交互项系数横向展示的解决方案
要将两个模型的结果改为横向并排布局(变量纵向排列,模型结果横向分布),直接用tbl_merge()替代tbl_stack()即可,同时可通过参数优化表格可读性:
完整代码
library(gtsummary) packageVersion("gtsummary") #> [1] '1.6.0' # 构建第一个模型及汇总表 tbl1 <- trial %>% mutate(early = case_when(stage %in% c("T1","T2") ~ 1, TRUE ~ 0)) %>% glm(response ~ age * early, family = binomial, data = .) %>% tbl_regression( exponentiate = TRUE, label = list( age ~ "年龄", early ~ "早期肿瘤(T1/T2)", age:early ~ "年龄 × 早期肿瘤" ) ) %>% modify_header(label ~ "**变量**") # 统一左侧变量列标题 # 构建第二个模型及汇总表 tbl2 <- trial %>% mutate(late = case_when(stage %in% c("T3","T4") ~ 1, TRUE ~ 0)) %>% glm(response ~ age * late, family = binomial, data = .) %>% tbl_regression( exponentiate = TRUE, label = list( age ~ "年龄", late ~ "晚期肿瘤(T3/T4)", age:late ~ "年龄 × 晚期肿瘤" ) ) %>% modify_header(label ~ "**变量**") # 横向合并两个表格,添加分栏标题 tbl_merge( tbls = list(tbl1, tbl2), tab_spanner = c("**早期肿瘤模型**", "**晚期肿瘤模型**") )
关键说明
tbl_merge()是实现横向布局的核心函数,会自动对齐两个表格的变量列,将模型结果列并排展示- 通过
label参数自定义变量和交互项的显示名称,提升表格可读性 tab_spanner参数给每个模型的结果列添加分组标题,清晰区分不同模型- 用
modify_header()统一两个表格的变量列标题,避免重复显示
内容的提问来源于stack exchange,提问作者Ahmed
相关产品推荐
相关产品推荐

