如何将mediation::mediate的模型摘要完整导出为LaTeX表格?
解决mediation::mediate结果导出为完整LaTeX表格的标准化方案
要批量导出mediation::mediate的完整结果(包含ACME、ADE、总效应等所有系数),无需手动提取,可通过broom.mediation扩展包配合modelsummary实现,这是标准化的自动化方案:
步骤说明
broom.mediation为mediate对象提供了标准的tidy方法,能自动提取所有关键统计量- 配合
modelsummary可直接生成包含全部系数的LaTeX表格,支持批量处理多个模型
完整代码示例
# 安装所需包(首次运行) install.packages(c("mediation", "modelsummary", "broom.mediation")) # 加载包 library(mediation) library(modelsummary) library(broom.mediation) # 原中介分析代码 set.seed(2014) data("framing", package = "mediation") med.fit <- lm(emo ~ treat + age + educ + gender + income, data = framing) out.fit <- glm(cong_mesg ~ emo + treat + age + educ + gender + income, data = framing, family = binomial("probit")) med.out <- mediate(med.fit, out.fit, treat = "treat", mediator = "emo", robustSE = TRUE, sims = 100) # 生成完整LaTeX表格(包含所有ACME、ADE、总效应等系数) modelsummary(med.out, output = "latex") # 若需保存到文件 modelsummary(med.out, output = "mediation_results.tex")
关键说明
- 运行代码后,
modelsummary会自动识别mediate对象的所有统计量,包括:- ACME(控制直接效应的中介效应)
- ADE(控制中介效应的直接效应)
- Total Effect(总效应)
- Prop. Mediated(中介效应占比)
- 对应的标准误、置信区间、p值
- 批量处理多个模型时,只需将多个
med.out对象放入列表,传入modelsummary即可:# 示例:批量处理两个中介模型 med.out1 <- mediate(...) # 第一个模型 med.out2 <- mediate(...) # 第二个模型 modelsummary(list(med.out1, med.out2), output = "batch_mediation.tex")
内容的提问来源于stack exchange,提问作者Ivo
相关产品推荐
相关产品推荐

