Hello all,

I've run into a problem where I can't run predict.lme on an object simplified 
via a stepAIC.  A similar post has been recorded on this list:
https://stat.ethz.ch/pipermail/r-help/2008-May/162047.html
but in my case, I'm going to great lengths to not repeat that poster's error 
and still coming up short.  Any advice would be much appreciated.  It would 
seem that, after stepAIC, predict.lme cannot find the training data for the lme 
object (and why is it even needed?).

Here's some example code:

foo = function() {
        x = c(1:20, 1:20)
        y = c(1:20, 5 + (1:20)) + rnorm(40)
        s = c(rep(1, 20), rep(2, 20))

        library(lattice)
        xyplot(y~x|s)

        dframe = data.frame(x, y, s)

        m = lme(y~x, random=~1|s, method='ML')
        
        newdf = data.frame(x=40, s = 2)
        res = predict(m, newdata=newdf)
        print(res)
        
        m2 = stepAIC(m, k=log(nrow(dframe)))
        #res2 = predict(m2, newdata=newdf)
        res2 = eval(substitute(predict(mL, newdata=nL), list(mL=m2, nL=newdf)))
        print(res2)
}

> foo()
       2 
45.86875 
attr(,"label")
[1] "Predicted values"
Start:  AIC=136.4
y ~ x

Error in eval(expr, envir, enclos) : object 'y' not found
        [[alternative HTML version deleted]]

______________________________________________
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.

Reply via email to