[R] Unable to use `eval(parse(text))' in nlme::lme

Ravi Varadhan ravi.varadhan at jhu.edu
Sun Feb 8 18:46:18 CET 2015


Hi,

I would like to run lme() on a number of response variables in a dataframe in an automatic manner.  Bu, when I use eval(parse(text=yname)) to denote the LHS of the formula in lme(), I get the following error message:



> require(nlme)



> mod2 <- with(subset(labdata2, Transplant_type!=0 & time >0), lme(eval(parse(text=yname)) ~ time +  as.factor(gvhd), random = ~1|Patient, correlation = corAR1(), method="ML", na.action=na.omit))
Error in model.frame.default(formula = ~Patient + yname + time + gvhd,  :
  variable lengths differ (found for 'yname')

The same usage works well in lme4::lmer without any problems.



It seems that there is a problem in how the formula object is evaluated in lme().  Is there an alternative way to do this?



Thank you,

Ravi

	[[alternative HTML version deleted]]



More information about the R-help mailing list