Ошибка функции земснаряда - R-пакет MuMln

Мне нужно делать статистические анализы в наборе данных. Я хотел бы создать все возможные модели и протестировать их с помощью функции экскаватора, но это не сработает. Действительно, когда я печатаю:

glm1<-glm(presabs~dca1+dca2+se1+se2, family=binomial(logit))
dredge(glm1)

Я получил эту ошибку:

Erreur dans dredge(glm1) : 
'global.model' 'na.action' argument is not set and options('na.action') is "na.omit"

Может кто-нибудь мне помочь?

Ответ 1

См. ?dredge:

# Example from Burnham and Anderson (2002), page 100:
data(Cement)
options(na.action = "na.fail")   #  prevent fitting models to different datasets

fm1 <- lm(y ~ ., data = Cement)
dd <- dredge(fm1)

Если вы пропустите вторую строку, ваша описанная ошибка появится, так как модели установлены на разные наборы данных (из-за удаления NA).

Ответ 2

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

Проблема с использованием options(na.action = "na.fail") заключается в том, что он изменяет глобальные настройки R. Если у вас есть большой script, изменение глобальных настроек потенциально повлияет на другие разделы вашего кода, где вы неявно полагаетесь на настройки R по умолчанию. Существует два способа избежать этого:

  • После использования dredge измените настройки с помощью options(na.action = "na.omit").

ИЛИ лучший способ...

  1. Используйте функцию функции регрессии для "установки аргумента". В вашем случае:

glm1<-glm(presabs~dca1+dca2+se1+se2, family=binomial(logit), na.action = "na.fail")