如何合并多个lme4模型结果生成统一汇总表?
合并多个lmer模型结果为统一汇总表的解决方案
实现步骤
你可以借助gtsummary包的tbl_merge()函数,快速将多个模型的汇总表合并为你需要的并列展示格式,以下是完整代码:
1. 加载依赖包并拟合模型
library(lme4) library(plyr) library(gtsummary) library(purrr) # 用于批量处理模型列表(可选) # 加载数据集并按recipe分组拟合模型 data(cake) MxM1 <- plyr::dlply(cake, "recipe", function(x) lmer(angle ~ 1 + (1|replicate) + temperature, data = x))
2. 批量生成模型汇总表对象
用purrr::map()批量处理模型列表,统一设置隐藏置信区间、显示标准误,并调整表头格式:
tbl_list <- purrr::map(MxM1, function(model) { model %>% tbl_regression() %>% modify_column_hide(columns = ci) %>% modify_column_unhide(columns = std.error) %>% modify_header( label = "**Temperature**", estimate = "**Beta**", std.error = "**SE**" ) })
3. 合并汇总表并调整格式
使用tbl_merge()合并表格,添加模型分组标题,并去除重复的行标签:
merged_tbl <- tbl_merge( tbls = tbl_list, tab_spanner = paste0("**Model: ", names(tbl_list), "**") ) %>% modify_column_merge(columns = label, pattern = "{1}") # 查看最终生成的表格 merged_tbl
效果说明
最终生成的表格会完全匹配你的需求:
- 顶部展示三个模型的分组标题(Model: A/B/C)
- 左侧列为温度的多项式项(Temperature.L/Q/C等)
- 每个模型对应列展示Beta值和标准误(SE)
内容的提问来源于stack exchange,提问作者Ahir Bhairav Orai
相关产品推荐
相关产品推荐

