首页 > 解决方案 > R stargazer 将几个回归模型堆叠成行

问题描述

使用 stargazer,是否可以报告多个堆叠在彼此下方的行中的回归模型,而不是在彼此相邻的单独列中?那么对于每个模型,模型名称都会有一行,然后每个模型的系数都有一行?

例如,这是 stargazer 中多个模型的标准输出:

Term   Model1    Model2
Coef1  3.5       2.6
Coef2  2.1       3.1
Coef3            2.2

长格式输出(即所需的结果)如下所示:

        Estimate
Model1  
Coef1    3.5
Coef2    2.1

Model2  
Coef1    2.6
Coef2    3.1
Coef3    2.2

有没有一种简单的方法可以在 stargazer 中获得这样的输出?

标签: rstargazer

解决方案


抱歉,我对 stargazer(或其选项)不是很熟悉。knitr::kable但是,据我了解,您的任务使用和broom包不会太糟糕。下面是一个基本示例,但您可以使用它做更多事情(有很多很棒的小插曲可供使用kableExtra)。

library(knitr)
library(kableExtra)
library(dplyr)
library(broom)

mtcars <- mtcars

model1 <- lm(mpg ~ cyl + wt, data = mtcars)
model2 <- lm(mpg ~ cyl + wt + disp, data = mtcars)

coefs <- bind_rows(tidy(model1), tidy(model2))

coefs %>%
  kable(digits = 3) %>%
  kable_styling(full_width = FALSE) %>%
  group_rows("Model 1", 1, 3) %>%
  group_rows("Model 2", 4, 7)

推荐阅读