有时,在报告回归结果时,为常数项包括统计显着性星号很俗气。是否可以配置stargazer
为回归变量保留星星,但不能保留常数项?
fit <- lm(rating ~ complaints, data=attitude)
stargazer(fit)
基本上,结果证明是使用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)))
奇迹般有效。
您也可以使用该broom
包将拟合结果转换为数据框,然后为您的内容添加星号:
library("broom")
mod <- lm(mpg ~ wt + qsec, data = mtcars)
DF <- tidy(mod)
DF$stars <- c("", "***", "***") # inspect and add manually, or automate
该xtable
软件包可用于将其格式化为 LaTeX 或其他格式。