【问题标题】:Exporting output of custom multiple regressions from R to Latex将自定义多元回归的输出从 R 导出到 Latex
【发布时间】:2018-10-04 15:48:22
【问题描述】:

我正在尝试将多个回归的结果导出到一个表中。理想情况下,它的格式应该类似于stargazer() 输出。 问题是我没有为我需要的那种回归找到可靠的工作 R 函数(Fama-MacBeth 回归),所以我使用我的自定义回归函数,它产生所有必要的输出(系数估计、标准误差、t-stat , R^2)。

stargazer() 或其他类似函数是否具有参数,当我的回归输出只是一个数据框时,允许我以良好的形式将多个回归的结果导出到 Latex?

编辑:我只是想知道是否可以创建发布样式表,如下所示:

【问题讨论】:

  • 那么什么不适合你?在stargazer::stargazer(...) 函数中,... 参数采用模型对象和/或数据帧、向量等。如果您可以格式化函数的输出以获取数据帧或lm 类@987654330 的对象@ 应该能够处理。
  • 当我使用 stargazer(output1, output2) 时,我以两个单独的表格的形式获得乳胶输出。我想得到 1 个表,其中每一列对应于不同的回归规范。 output1 和 output2 是两个数据框,包含两个不同回归模型的输出。
  • 您可以使用summary=FALSE 开关创建任何数据帧的观星器输出。如果您有两个带有 output1 和 output2 的不同回归输出,您可以将(output1,output2,all.x=T,all.y=T)这两个输出合并到一个数据帧中,然后进行观察。这是解决类似问题的一个示例:stackoverflow.com/questions/49004490/…
  • Stargazer 在标准回归输出之外的功能有点受限。尽管如此,您可以通过将您自己的标准误差和系数作为secoef 参数提供给stargazer 来覆盖默认的标准误差和系数。您还可以将自己的行插入到输出中,如下所示:add.lines = list(c('My custom R2', 0.001, 0.002, 0.003))。您可以在这里找到更多讨论:stackoverflow.com/questions/21338567/…

标签: r stargazer


【解决方案1】:

这是一个简单的例子,可能会帮助你转发(例子太长,无法评论,所以把它作为答案):

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

merge(model1_tidy, model2_tidy, by='term', all.x=T, all.y=T)  -> output

stargazer(output, type='latex', summary=FALSE)

你需要自己弄清楚列标题,但我相信你明白了。

【讨论】:

  • 你实际上可以运行broom::tidy(model)。无需summary 电话。
  • 但这只会合并两个输出。不要创建风格化的表格。
  • @Ariel SC,回复较晚,但为了将来参考,您可以使用 stargazer 或其他工具从 tidy() 输出创建一个漂亮的表。
  • @OttoKässi 您的代码没有正确合并。它复制数据(std.error.xstd.error.y 等)。您可能只想拥有一个名为 std.error 的变量。此外,您的代码没有提供 Moysey Abramowitz 正在寻找的结果。请修改!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-20
  • 2020-05-12
相关资源
最近更新 更多