【问题标题】:Stargazer one line per data setStargazer 每个数据集一行
【发布时间】:2019-02-04 15:47:53
【问题描述】:

我正在使用数据集的各种子集和许多因变量进行回归。

一个使用attitude数据的例子:

library(stargazer)

#REGRESSIONS USING DATASET 1
linear1.1 <- lm(rating ~ complaints, data = attitude) #dependent 1
linear1.2 <- lm(privileges ~ complaints, data = attitude) #dependent 2

#REGRESSIONS USING DATASET 2
linear2.1 <- lm(rating ~ complaints, data = attitude[1:15,]) #dependent 1
linear2.2 <- lm(privileges ~ complaints, data = attitude[1:15,]) #dependent 2

如您所见,因变量 ratingprivileges 都用于数据子集的回归。使用标准的stargazer 方法会生成下表:

stargazer::stargazer(linear1.1,linear1.2,linear2.1,linear2.2,
                     omit.stat = "all",
                     keep = "complaints")

每一列代表一个回归模型。但是,我想让每一列代表一个因变量。每个数据子集应该代表一行:

我手工制作了这张桌子。有谁知道使用stargazer 是否可以实现这一目标?我有很多回归子集和因变量,因此高度自动化的解决方案值得赞赏。谢谢!

【问题讨论】:

  • 这不会令人困惑吗?乍一看,似乎只有两个模型,其中“投诉数据1”和“投诉数据2”是同一模型中的自变量。
  • 正确,在这个例子中它令人困惑,但是,在我的应用程序中它非常有意义并增加了可读性。另外,我计划在之后进一步修改表格以避免歧义。但是,我需要以此为起点。

标签: r stargazer


【解决方案1】:

我只是想知道这个 (Exporting output of custom multiple regressions from R to Latex) 的小修改是否适合你

library(stargazer)
library(broom)

## generate dummy data
set.seed(123)
x <- runif(1000)
z <- x^0.5
y <-  x + z + rnorm(1000, sd=.05)
model1 <- lm(y ~ x)
model2 <- lm(y ~ z)

## transform model summaries into dataframes
tidy(model1) -> model1_tidy
tidy(model2) -> model2_tidy

output <- rbind(model1_tidy,model2_tidy)
stargazer(output, type='text', summary=FALSE)

【讨论】:

    猜你喜欢
    • 2015-01-08
    • 2014-02-21
    • 2021-11-16
    • 2016-09-14
    • 2021-11-21
    • 2020-12-18
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多