[Rd] nlme() and parameters "model", "fixed" and "random" (PR#2363)
Douglas Bates
bates@stat.wisc.edu
Wed Dec 11 22:54:03 2002
jerome@hivnet.ubc.ca writes:
> Full_Name: Jerome Asselin
> Version: 1.6.1
> OS: linux redhat 7.2
> Submission from: (NULL) (142.103.173.179)
>
>
>
> print.lme() fails when the parameters "model", "fixed" and "random"
> are input as objects in nlme(). To show how this occurs, below is a
> slightly modified example from the nlme help page.
>
>
> library(nlme)
> data(Loblolly)
> fm1 <- nlme(height ~ SSasymp(age, Asym, R0, lrc),
> data = Loblolly,
> fixed = Asym + R0 + lrc ~ 1,
> random = Asym ~ 1,
> start = c(Asym = 103, R0 = -8.5, lrc = -3.3))
> fm1 # THIS WORKS...
>
> model <- height ~ SSasymp(age, Asym, R0, lrc)
> fixed <- Asym + R0 + lrc ~ 1
> random <- Asym ~ 1
> start <- c(Asym = 103, R0 = -8.5, lrc = -3.3)
> fm2 <- nlme(model,
> data = Loblolly,
> fixed = fixed,
> random = random,
> start = start)
> fm2 # ERROR
> #Nonlinear mixed-effects model fit by maximum likelihood
> #Error in as.vector(x, mode) : cannot coerce to vector
>
> all(unlist(fm1$coefficients)==unlist(fm2$coefficients)) # TRUE
Thanks for the report. The construction deparse(as.vector(x)) where x
is a formula is needed in S-PLUS but can cause an error in R. We
should, and will, revise the R package for nlme to replace any
instances of deparse(as.vector(x)) by deparse(x).