如何将列表中的多个回归模型输出为gtsummary格式汇总表格
R语言gtsummary合并多个回归模型实现方案
你生成的out是命名的线性模型列表,只需要对列表内每个模型批量生成gtsummary回归表,再调用tbl_merge合并即可,完整可运行代码如下:
library(dplyr) library(purrr) library(gtsummary) # 原有建模代码 m.1.1 <- "cyl" m.1.2 <- paste(c(m.1.1, "disp"), collapse = " + ") out <- map(dplyr::lst(m.1.1, m.1.2), ~ lm(data = mtcars, formula = as.formula(paste0("mpg ~ ", .x)))) # 批量生成回归表:线性回归无需指数化系数,所以exponentiate设为FALSE tbl_list <- map(out, ~ tbl_regression(.x, exponentiate = FALSE)) # 合并表格并添加分栏表头 final_tbl <- tbl_merge( tbls = tbl_list, tab_spanner = c("**单变量模型(仅cyl)**", "**多变量模型(cyl+disp)**") ) # 直接打印即可输出格式化表格 final_tbl
可选优化配置
- 若需要显示每个模型的样本量,可以在
tbl_regression后链式调用add_n() - 若需要添加变量全局显著性p值,可以链式调用
add_global_p() - 若要自定义变量展示标签,可以在
tbl_regression中指定label参数,例如label = list(cyl = "气缸数", disp = "排量") - 需要导出为docx格式可以调用
as_gt() %>% gtsave("regression_table.docx")实现
内容的提问来源于stack exchange,提问作者nicholas
相关产品推荐
相关产品推荐

