Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

dredge function error - R package MuMln

Tags:

I have to do statistical analyses on a data set. I would like to create all the possible models and to test them with the dredge function but it doesn't work. Indeed, when I type:

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

I got this error:

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

Can someone help me?

like image 269
Mornor Avatar asked Aug 13 '14 08:08

Mornor


2 Answers

The issue with using options(na.action = "na.fail") is that it changes the global settings of R. If you have a large script, changing the global settings will potentially impact on other sections of your code where you implicitly rely on R's default settings. There are two ways to avoid this:

  1. After using dredge change the settings back via options(na.action = "na.omit").

OR the better way...

  1. Utilise the regression function's ability to set the na.action argument. In your case:
glm1 <- glm(presabs ~ dca1+dca2+se1+se2,
            family=binomial(logit),
            na.action = "na.fail")
like image 121
Luke Singham Avatar answered Sep 21 '22 13:09

Luke Singham


See ?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)

If you skip the second line, your described error pops up, as the models are fitted to different datasets (due to removal of NAs).

like image 36
EDi Avatar answered Sep 20 '22 13:09

EDi