[R] Nested error structure in nonlinear model
Spencer Graves
spencer.graves at pdf.com
Thu Apr 6 02:46:52 CEST 2006
Have you read Pinheiro and Bates (2000) Mixed-Effects Models in S and
S-Plus (Springer). If no, I believe that book should help you. If you
have access to the library at the University of Waikato, as suggested by
your email address, then I suggest you try the library there. The
electronic catalog just told me it had a paper copy listed as
"available" as well as an electronic copy.
If you have read Pinheiro and Bates, then please prepare another post
more consistent with the posting guide
"www.R-project.org/posting-guide.html". Pinheiro and Bates and the
documentation for "nlme" contain several examples that should help you
describe succintly where you are encountering difficulties. If someone
like me can copy a few lines of code from an email, paste it into R and
reproduce what you are seeing in a few seconds, you are much more likely
to get quality help quickly than if I have to guess -- and at least one
of the leading contributors to this list has announced a personal policy
of rarely replying to posts whose style is not consistent with that guide.
hope this helps,
spencer graves
Murray Jorgensen wrote:
> I am trying to fit a nonlinear regression model to data. There are
> several predictor variables and 8 parameters. I will write the model as
>
> Y ~ Yhat(theta1,...,theta8)
>
> OK, I can do this using nls() - but "only just" as there are not as many
> observations as might be desired.
>
> Now the problem is that we have a factor "Site" and I want to include a
> corresponding error component. I tried something like (excuse the
> doctored R output):
>
> > mod0.nlme <- nlme(Y ~ Yhat(theta1,...,theta8) + site.err ,
> + start = c(mod0.st,0),
> + groups = ~ Site,
> + fixed = theta1 + ... + theta8 ~ 1,
> + random = site.err ~ 1)
> Error in nlme.formula(Y ~ Yhat(theta1,...,theta8 :
> starting values for the fixed component are not the correct length
>
> and then
>
> > mod0.nlme <- nlme(Y ~ Yhat(theta1,...,theta8) + site.err ,
> + start = mod0.st,
> + groups = ~ Site,
> + fixed = theta1 + ... + theta8 ~ 1,
> + random = site.err ~ 1)
> Error: Singularity in backsolve at level 0, block 1
>
> The straightforward way would be to go
>
> > mod0.nlme <- nlme(Y ~ Yhat(theta1,...,theta8) ,
> + start = mod0.st,
> + groups = ~ Site,
> + fixed = theta1 + ... + theta8 ~ 1)
>
> making all 8 parameters random, but there is little hope of getting that
> to work. (I did try it and it does not crash straight away but settles
> down to run forever.)
>
> Any comments welcome. I regret that I cannot go into much detail about
> the actual problem.
>
More information about the R-help
mailing list