усредненные по модели коэффициенты линейных смешанных моделей в glmulti? Исправление больше не работает

Я использую пакет glmulti для выбора переменных фиксированных эффектов смешанной модели в lme4. У меня была та же проблема с получением коэффициентов и доверительных интервалов, которую решил автор пакета в этой теме. А именно использование coef или coef.multi дает ошибку check.names, а коэффициенты отображаются как NULL при вызове метода predict. Итак, я попробовал решение, указанное в теме, указанной выше, используя:

setMethod('getfit', 'merMod', function(object, ...) {
summ=summary(object)$coef
summ1=summ[,1:2]
if (length(dimnames(summ)[[1]])==1) {
    summ1=matrix(summ1, nr=1, dimnames=list(c("(Intercept)"),c("Estimate","Std.    Error")))
}
cbind(summ1, df=rep(10000,length(fixef(object))))
})

Я исправил пропущенный " в исходном посте, и код заработал. Но теперь вместо получения

Ошибка в data.frame(..., check.names = FALSE): аргументы подразумевают разное количество строк: 1, 0

Я получаю эту ошибку для каждой модели...

Ошибка в вычислении приближения Саттертуэйта. Вывод пакета lme4 возвращается сводка из lme4 возвращается некоторая вычислительная ошибка в lmerTest

Я использую lmerTest, и меня не удивляет, что он потерпит неудачу, если glmulti не сможет получить правильную информацию из модели. Так что на самом деле это первые две строки ошибки, на которых, вероятно, следует сосредоточиться.

Описание исходного исправления находится на сайте разработчиков здесь. Очевидно, что пакет некоторое время не обновлялся, и да, мне, вероятно, следует изучить новый пакет... но до тех пор я надеюсь на исправление. Я свяжусь с разработчиком напрямую через его сайт. Но, тем временем, кто-нибудь пробовал это и нашел исправление?

lme4 glmulti rJava и другие связанные пакеты были обновлены до последней версии.


person JHegg    schedule 26.10.2017    source источник
comment
Я не вижу никаких функций glmulti в вашем коде.   -  person IRTFM    schedule 26.10.2017
comment
Пожалуйста, посмотрите ветку, на которую я дал ссылку в первом абзаце. Вызов функции coef(object, ...), метода coef.glmulti(object, ...) или прогноза(объект, ...)` приводит к ошибкам, как описано, независимо от используемого объекта glmulti. В этом потоке есть воспроизводимый пример, который приводит к тем же ошибкам.   -  person JHegg    schedule 26.10.2017
comment
код setMethod изменяет способ, которым функция getfit извлекает соответствующие части объектов модели из объекта glmulti. Эта функция описана в glmulti руководстве здесь, начиная с стр. 7, стр. 4 для функции coef.glmulti(), которая включает вызовы coef и predict и как они должны работать.   -  person JHegg    schedule 26.10.2017