You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在tidymodels工作流中生成stargazer风格的学术回归表

基于broom::tidy()对象生成stargazer风格出版级系数表的解决方案

首选方案:使用modelsummary包

  • modelsummary是专门为统计模型输出设计的工具,原生支持broom::tidy()格式的输出,可直接生成符合出版要求的LaTeX、HTML、Word等格式表格,默认输出风格和stargazer高度一致,自定义灵活度远高于stargazer。
  • 基础用法示例:
    如果你有多个待输出的模型对象,可直接传入生成多模型对比表:
    library(modelsummary)
    # 示例模型
    lm1 <- lm(mpg ~ hp + wt, data = mtcars)
    lm2 <- lm(mpg ~ hp + wt + am, data = mtcars)
    # 生成LaTeX格式的stargazer风格系数表
    modelsummary(list("模型1" = lm1, "模型2" = lm2), output = "latex")
    
    如果你已经提前得到了整理好的broom::tidy()结果,可直接通过tidy参数传入:
    tidy_lm1 <- broom::tidy(lm1, conf.int = TRUE)
    tidy_lm2 <- broom::tidy(lm2, conf.int = TRUE)
    modelsummary(list(tidy_lm1, tidy_lm2), output = "latex", gof_map = NULL)
    
  • 可自定义的内容包括显著性星号规则、标准误/置信区间展示形式、拟合优度指标筛选、控制变量折叠等,完全满足社科、经管等领域的出版规范要求,在Rmd中直接调用可自动嵌入生成的PDF/Word文档。

适配方案:将tidy结果传入stargazer直接生成原生风格表格

  • 如果你需要完全一致的stargazer原生输出样式,可手动提取broom::tidy()结果中的系数、标准误、p值传入stargazer对应参数,跳过stargazer默认的模型解析步骤:
    library(stargazer)
    tidy_lm1 <- broom::tidy(lm1)
    stargazer(lm1,
              coef = list(tidy_lm1$estimate),
              se = list(tidy_lm1$std.error),
              p = list(tidy_lm1$p.value),
              type = "latex",
              title = "回归结果")
    
  • 该方法适用于已经习惯stargazer格式、仅需要基于整理后的tidy结果输出表格的场景。

gt适配方案:使用gtsummary扩展gt的出版级输出能力

  • 如果你更熟悉gt的语法,可搭配gtsummary包基于broom::tidy()对象生成系数表,最终通过as_latex()方法导出LaTeX代码:
    library(gtsummary)
    tbl_regression(lm1) |> as_latex()
    
  • 可通过主题调整函数将表格样式修改为和stargazer一致的三线表、右对齐系数列、显著性星号标注等格式。

内容的提问来源于stack exchange,提问作者Rob Lytle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:54:03