[R] as.formula and lme ( Fixed effects: Error in as.vector(x, "list") : cannot coerce to vector)

Liu Song liusong at stat.umn.edu
Fri Aug 12 21:07:12 CEST 2005


This is a continuing issue with the one on the list a long time ago (I 
couldn't find a solution to it from the web):
--------------------------------------------------------------------------
> Using a formula converted with as.formula with lme leads
> to an error message. Same works ok with lm, and with
> lme and a fixed formula.
> 
> # demonstrates problems with lme and as.formula
> demo<-data.frame(x=1:20,y=(1:20)+rnorm(20),subj=as.factor(rep(1:2,10)))
> demo.lm1<-lme(y~x,data=demo,random=~1|subj)
> print(summary(demo.lm1))
> newframe<-data.frame(x=1:5,subj=rep(1,5))
> predict(demo.lm1,newframe,level=0)
> 
> fma<-as.formula("y~x")
> demo.lm<-lm(fma,data=demo)        # ok
> predict(demo.lm,newframe,level=0) # ok
> demo.lm2<-lme(fma,data=demo,random=~1|subj) # looks ok, but isn't
> print(summary(demo.lm2))
> 
> #Fixed effects: Error in as.vector(x, "list") : cannot coerce to vector
> #predict(demo.lm2,newframe,level=0) # does not work

Thanks for the detailed report.  I can reproduce the problem.  It
appears that there needs to be an eval early in the lme function so it
stores the formula for the fixed effects, not the name of the formula.
------------------------------------------------------------------------
Now I follow the suggestion and use :
demo.lm2<-lme(eval(fma),data=demo,random=~1|subj) 
#works ok, even with summary(demo.lm2) 
#predict(demo.lm2,newframe,level=0) 
#Error in eval() : Argument "expr" is missing, with no default

How can I fix this problem and get the predict() function to work?
Thank you!

********************************************************************
Song Liu
School of Statistics
313 FordH
224 Church St. SE
Minneapolis,MN 55455




More information about the R-help mailing list