Stargazer: опускать звезды только для постоянных
Иногда при составлении отчета о результатах регрессии нереально включать звезды статистической значимости для постоянного термина. Можно ли настроить stargazer
оставить звезды для регрессоров, но не на постоянный срок?
fit <- lm(rating ~ complaints, data=attitude)
stargazer(fit)
2 ответа
В основном ответом оказалось использование stargazer
"s p
аргумент. Оттуда мне просто нужно было написать (серию) функций, которые взяли бы список совпадений регрессии и вернули список векторов 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 или что-то еще.