【问题标题】:Stargazer and r: how to line up rows for coefficients of the same name with multiple polynomial regressionsStargazer 和 r:如何使用多个多项式回归排列同名系数的行
【发布时间】:2019-10-13 20:27:24
【问题描述】:

我想把我的桌子整理得更紧凑。我有 4 个多项式回归,它们都具有相同的变量但使用不同的度数。请注意,我正在使用 HTML 而非乳胶生成输出。下面的代码最能描述我的问题:

这是我的代码:

library(stargazer)
attach(mtcars)

preg1 = lm(mpg~poly(disp, 1))
preg2 = lm(mpg~poly(disp, 2))
preg3 = lm(mpg~poly(disp, 3))
preg4 = lm(mpg~poly(disp, 4))

stargazer(preg1, preg2, preg3, preg4, type="html", align=TRUE,
          covariate.labels=c("X1", 
                             "X1", "X2", 
                             "X1", "X2", "X3", 
                             "X1", "X2", "X3","X4"))

但是,它会产生这样的结果:

https://imgur.com/a/ikVfqZv

我编辑了 HTML 代码以给出我想要的输出示例:

https://imgur.com/a/4cCCiJC

但是,每次我需要这样做时,通过凌乱的 stargazer HTML 进行编辑是低效的

【问题讨论】:

  • 嗨,没有reproducible example 很难帮助你,你能加一个吗?我会说问题来自covariate.labels。移除该部分后的结果是什么?
  • @bretauv 我将使用 mtcars 数据集中的可重现示例进行更新,谢谢

标签: r regression data-visualization polynomials stargazer


【解决方案1】:

这是一种“替代方案”,而不是解决方案。我在mtcars 中为多项式形式的每个次数创建一个新列,然后对这些新列应用回归:

library(stargazer)
library(dplyr)
attach(mtcars)

mtcars2 <- mtcars %>%
  mutate("disp2" = disp^2, "disp3" = disp^3, "disp4" = disp^4)

attach(mtcars2)

test1 = lm(mpg~disp)
test2 = lm(mpg~disp + disp2)
test3 = lm(mpg~disp + disp2 + disp3)
test4 = lm(mpg~disp + disp2 + disp3 + disp4)

stargazer(test1, test2, test3, test4, type="html", align=TRUE)

我认识到这远非理想,因为它需要创建新变量,例如,如果您想达到 10 级,这可能会很长。我仍在寻找解决方案,但与此同时,也许您可​​以使用该替代方案。

注意:apparentlypoly解决了变量间不同程度的相关问题: 但是,请注意 qI(q^2)I(q^3) 将是相关的,相关变量可能会导致问题。使用 poly() 可以通过生成正交多项式来避免这种情况,因此我将使用第一个选项。

这让我的替代方案再次变得不那么有用了。

【讨论】:

    【解决方案2】:

    对我有用的一种方法是在拟合模型时重命名协变量,然后在调用 stargazer 函数时更改协变量标签。

    例子:

        names(reg1$coefficients) <- c('Constant','x')
        summary(reg1)
        names(reg2$coefficients) <- c('Constant','x', 'x2')
        summary(reg2)
        
        stargazer( reg1, reg2, type = "html",align=TRUE, 
        covariate.labels=c("Intercept", "x", "x<sup>2</sup>"), digits = 2)`
    

    【讨论】:

      猜你喜欢
      • 2019-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-01
      • 2017-10-04
      • 1970-01-01
      • 1970-01-01
      • 2020-08-15
      相关资源
      最近更新 更多