0

有时,在报告回归结果时,为常数项包括统计显着性星号很俗气。是否可以配置stargazer为回归变量保留星星,但不能保留常数项?

fit <- lm(rating ~ complaints, data=attitude)
stargazer(fit)
4

2 回答 2

1

基本上,结果证明是使用stargazer'sp论点。从那里,我只需要编写一个(一系列)函数,该函数采用回归拟合列表并返回 p 值向量列表。然后我手动将截距的 p 值更改为 1,并且很快,截距上没有俗气的星星。此外,无需手动 LaTeX 编辑即可重现!

commarobust <- function(fit){
  require(sandwich)
  require(lmtest)
  coeftest(fit,vcovHC(fit, type="HC2"))
}

getrobustps <- function(fit){
  robustfit <- commarobust(fit)
  ps <- robustfit[,4]
  ps["(Intercept)"] <- 1
  return(ps)
}

makerobustpslist <- function(fitlist){
  return(lapply(fitlist, FUN=getrobustps) )
}

然后在观星者通话中:

stargazer(fit_1, fit_2, fit_3, fit_4, fit_5, 
          p=makerobustpslist(list(fit_1, fit_2, fit_3, fit_4, fit_5)))

奇迹般有效。

于 2015-04-08T04:12:31.417 回答
0

您也可以使用该broom包将拟合结果转换为数据框,然后为您的内容添加星号:

library("broom")
mod <- lm(mpg ~ wt + qsec, data = mtcars)
DF <- tidy(mod)
DF$stars <- c("", "***", "***") # inspect and add manually, or automate

xtable软件包可用于将其格式化为 LaTeX 或其他格式。

于 2015-04-06T23:29:34.273 回答