[R] Re strict AIC comparison to succesful models?

Manuel Morales Manuel.A.Morales at williams.edu
Thu Jun 11 21:59:19 CEST 2009


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




More information about the R-help mailing list