我想把我的表格组织得更简洁。我有 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://i.stack.imgur.com/czUMX.jpg
我编辑了 HTML 代码以给出我想要的输出示例:
https://i.stack.imgur.com/kwAjR.jpg
但是,每次我需要这样做时,通过凌乱的观星者 HTML 进行编辑效率低下
这是一种"替代方案",而不是解决方案。我为多项式形式的每个度数创建一个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)
我认识到这远非理想,因为它需要创建新的变量,例如,如果您想达到第十度,这可能会很长。我仍在寻找解决方案,但与此同时,也许您可以使用该替代方案。
注意:显然,poly
在不同程度上解决了变量之间的相关性问题:但是,请注意,q
、I(q^2)
和I(q^3)
将是相关的,相关变量可能会导致问题。使用 poly(( 可以通过生成正交多项式来避免这种情况,因此我将使用第一个选项。
这使我的替代方案再次变得不那么有用。
对我有用的一种方法是在拟合模型时重命名协变量,然后在调用观星者函数时更改协变量标签。
例:
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)`