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 или что-то еще.

Другие вопросы по тегам