Как заставить звездочета распознавать модель из lmList?

У меня есть данные за три разных года, и я выполняю регрессию для каждого отдельного года с помощью 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"

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

Есть ли способ обойти это?


person Johan S. Lindskog    schedule 16.04.2019    source источник


Ответы (1)


Он должен нормально работать с 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().

person nghauran    schedule 16.04.2019