Функция не определена при вызове aictab

Я получаю сообщение об ошибке при попытке создать aictab Таблица

КОД

library(MASS)
library(AICcmodavg)

set.seed(456)
d <- data.frame(ID = 1:20,
                Ct = c(sample(x = 1:50, size = 12, replace = T), rep(x = 0, length.out = 8)),
                V = as.factor(rep(x = c("Dry", "Wet"), each = 2)),
                S = as.factor(rep(x = c("Sand", "Clay"), each = 2)))

m1 <- glm.nb(Ct ~ 1, data = d)
m2 <- glm.nb(Ct ~ V, data = d)
m3 <- glm.nb(Ct ~ S, data = d)

all_ms <- list(m1, m2, m3)
names(all_ms) <- c("null", "type", "soil")

aic_tb <- aictab(cand.set = all_ms, second.ord = TRUE)

ВЫХОД

Ошибка в aictab.default(cand.set = all_ms, second.ord = TRUE): функция еще не определена для этого класса объектов

Кто-нибудь может понять, почему это не удается?

1 ответ

Решение

Проблема в том, что aictab() кажется не в состоянии обрабатывать объекты класса negbin (результат от glm.nb()).

Простой обходной путь заключается в использовании glm.convert() который изменяет ваш вывод, чтобы выглядеть как один из glm() с отрицательным биномиальным семейством:

all_ms_glm <- lapply(all_ms, glm.convert)
aictab(cand.set = all_ms_glm, second.ord = TRUE)
# Model selection based on AICc:
#  
#      K   AICc Delta_AICc AICcWt Cum.Wt      LL
# null 2 396.34       0.00   0.35   0.35 -195.82
# soil 3 396.46       0.13   0.33   0.67 -194.48
# type 3 396.46       0.13   0.33   1.00 -194.48

Для записи это работает в версии 2.2-1: файл NEWS предполагает, что это было исправлено в версии 2.2-0.

пересмотр 2.2-0 (25 февраля 2019 года)
...
добавлены методы для объектов класса 'glm.nb'

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