Как вы получаете Stargazer для распознавания модели из lmList? - PullRequest
1 голос
/ 16 апреля 2019

У меня есть данные за три разных года, и я запускаю регрессию для каждого отдельного года с помощью lmList (). Когда я пытаюсь получить код LaTex с помощью stargazer, я получаю сообщение о том, что он не распознает тип объекта. При запуске stargazer для нормальной линейной регрессии он работает просто отлично, хотя класс для объектов один и тот же.

Это моя регрессия с lmList

fit <- lmList((lndeltaoms) ~ size + factor(gender)| year, data = tser)
stargazer(fit[["2008"]])
% Error: Unrecognized object type.

Сравните это с нормальной регрессией, где это работает.

fit2 <- lm((lndeltaoms) ~ size + factor(gender), data=tser)
stargazer(fit2)

Но когда я сравниваю классы, они одинаковы.

class(fit[["2008"]])
[1] "lm"
class(fit2)
[1] "lm"

Поскольку они принадлежат к одному и тому же классу, Stargazer чувствует, что должен распознавать их обоих одинаково, но при извлечении модели из lmList возникает некоторая проблема.

Можно ли как-нибудь обойти это?

1 Ответ

0 голосов
/ 16 апреля 2019

Должно работать с lmList() из пакета nlme (а не из lme4).Попробуйте:

fit1 <- nlme::lmList((lndeltaoms) ~ size + factor(gender)| year, data = tser)
stargazer(fit1[["2008"]]) # ok

fit2 <- lme4::lmList((lndeltaoms) ~ size + factor(gender)| year, data = tser)
stargazer(fit2[["2008"]]) # this does not work

Похоже, stargazer() отлично работает с объектами класса lmList, но не с lmList4 объектом, полученным из lme4::lmList().

Также будьте осторожныпри загрузке nlme, поскольку его функция lmList() маскируется от lme4::lmList().

...