On Thu, 2009-06-11 at 12:08 -0700, Ben Bolker wrote: > > > Manuel Morales wrote: > > > > Hello list, > > > > I'm doing a bootstrap analysis where some models occasionally fail to > > converge. I'd like to automate the process of restricting AIC to the > > models that do converge. A contrived example of what I'd like to do is > > below: > > > > resp <- c(1,1,2) > > pred <- c(1,2,3) > > > > m1 <- lm(resp~pred) > > m2 <- lm(resp~poly(pred,2)) > > m3 <- lm(resp~poly(pred,3)) # Fails, obviously > > > > ## Some test to see which models were successful > > models <- test(m1,m2,m3) > > > > How about > > models <- list(m1,m2,m3) > is.OK <- sapply(models,test) > do.call(AIC,models[is.OK]) > > ?
Good idea but unfortunately I get an error message with: models <- list(m1,m2,m3) test <- function(x) length(x)>1 is.OK <- sapply(models,test) do.call(AIC,models[is.OK]) I think the issue is that AIC is expecting a ... of model objects (not a list or a vector) and I'm not sure how to construct that. Manuel ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.