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
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).
I know this has been solved, however I came across the same issue and think there is a better way.
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:
dredge
change the settings back via options(na.action = "na.omit")
.OR the better way...
glm1<-glm(presabs~dca1+dca2+se1+se2, family=binomial(logit), na.action = "na.fail")