as.formula and lme ( Fixed effects: Error in as.vector(x, "list") : cannot coerce to vector)
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