Matthias Kuhn
2014-Sep-30 08:13 UTC
[R] ..nlme: start values necessary even though using self-start function?..
Dear list.
I am stuck with an "subscript out of bounds" error when I play with an
nlme-example from the yellow Pinheiro/Bates book. It is about using
nlme() using the formula interface for non-linear mixed models.
The following code snippet is inspired by the book (in section 8.2),
using the Orange-example data from R datasets containing repeated
measures of trunk circumferences over time for 5 trees. It is a
nfnGroupedData with structure circumference ~ age | Tree.
nlme( circumference ~ SSlogis(age, Asym, xmid, scal), data=Orange,
fixed= Asym + xmid + scal ~ 1)
It results in the following error:
Error in nlme.formula(circumference ~ SSlogis(age, Asym, xmid, scal), :
subscript out of bounds
Specifiying the grouping as in groups=~Tree does not help, either.
When I do provide start values, it works, though.
nlme( circumference ~ SSlogis(age, Asym, xmid, scal), data=Orange,
start=c(Asym = 200, xmid=725, scal=350),
fixed= Asym + xmid + scal ~ 1)
Beginning of result output:
Nonlinear mixed-effects model fit by maximum likelihood
Model: circumference ~ SSlogis(age, Asym, xmid, scal)
Data: Orange
Log-likelihood: -129.9907
Fixed: Asym + xmid + scal ~ 1
Asym xmid scal
192.0959 727.5887 356.6011
...
SSlogis() is a selfStart object and should be able to get its own
starting values like so:
getInitial(circumference ~ SSlogis(age, Asym, xmid, scal), data=Orange)
So start= argument should not be necessary.
What am I missing here? Any ideas?
Thanks in advance..
-m
ps> This is my setting:
> sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-apple-darwin13.1.0 (64-bit)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] nlme_3.1-117 devtools_1.5
loaded via a namespace (and not attached):
[1] digest_0.6.4 evaluate_0.5.5 grid_3.1.1 httr_0.5
lattice_0.20-29 memoise_0.2.1 parallel_3.1.1 RCurl_1.95-4.3
stringr_0.6.2 tools_3.1.1 whisker_0.3-2
And regarding my nlme-package from CRAN:
Information on package ?nlme?
Description:
Package: nlme
Version: 3.1-117
Date: 2014-03-31
Priority: recommended
Title: Linear and Nonlinear Mixed Effects Models
Authors at R: c(person("Jos?", "Pinheiro", role =
"aut", comment
= "S version"), person("Douglas", "Bates", role =
"aut", comment = "up
to 2007"), person("Saikat", "DebRoy", role =
"ctb", comment = "up
to 2002"), person("Deepayan", "Sarkar",
role = "ctb",
comment = "up to 2005"), person("EISPACK authors", role =
"ctb",
comment = "src/rs.f"), person("R-core", email
"R-core at R-project.org", role =
c("aut", "cre")))
Description: Fit and compare Gaussian linear and nonlinear
mixed-effects models.
Depends: graphics, stats, R (>= 3.0.0)
Imports: lattice
Suggests: Hmisc, MASS
LazyData: yes
ByteCompile: yes
Encoding: UTF-8
License: GPL (>= 2)
BugReports: http://bugs.r-project.org
Packaged: 2014-03-31 07:56:40 UTC; ripley
Author: Jos? Pinheiro [aut] (S version), Douglas Bates
[aut] (up to 2007), Saikat DebRoy [ctb] (up to 2002), Deepayan Sarkar
[ctb] (up to 2005), EISPACK authors [ctb] (src/rs.f), R-core [aut,
cre]
Maintainer: R-core <R-core at R-project.org>
NeedsCompilation: yes
Repository: CRAN
Date/Publication: 2014-03-31 10:16:43
Built: R 3.1.1; x86_64-apple-darwin13.1.0; 2014-07-11
12:37:41 UTC; unix
Prof Brian Ripley
2014-Sep-30 11:46 UTC
[R] ..nlme: start values necessary even though using self-start function?..
This seems to be a bug in the package. Maybe the code was written for S, or maybe R has changed in the many years since the former maintainer decided to be unhelpful. I'll put this on the list for the next release. On 30/09/2014 09:13, Matthias Kuhn wrote:> Dear list. > > I am stuck with an "subscript out of bounds" error when I play with an > nlme-example from the yellow Pinheiro/Bates book. It is about using > nlme() using the formula interface for non-linear mixed models. > > The following code snippet is inspired by the book (in section 8.2), > using the Orange-example data from R datasets containing repeated > measures of trunk circumferences over time for 5 trees. It is a > nfnGroupedData with structure circumference ~ age | Tree. > > > nlme( circumference ~ SSlogis(age, Asym, xmid, scal), data=Orange, > fixed= Asym + xmid + scal ~ 1) > > It results in the following error: > Error in nlme.formula(circumference ~ SSlogis(age, Asym, xmid, scal), : > subscript out of bounds > > Specifiying the grouping as in groups=~Tree does not help, either. > > When I do provide start values, it works, though. > > nlme( circumference ~ SSlogis(age, Asym, xmid, scal), data=Orange, > start=c(Asym = 200, xmid=725, scal=350), > fixed= Asym + xmid + scal ~ 1) > > Beginning of result output: > > Nonlinear mixed-effects model fit by maximum likelihood > Model: circumference ~ SSlogis(age, Asym, xmid, scal) > Data: Orange > Log-likelihood: -129.9907 > Fixed: Asym + xmid + scal ~ 1 > Asym xmid scal > 192.0959 727.5887 356.6011 > ... > > > > SSlogis() is a selfStart object and should be able to get its own > starting values like so: > getInitial(circumference ~ SSlogis(age, Asym, xmid, scal), data=Orange) > > > So start= argument should not be necessary. > What am I missing here? Any ideas? > > Thanks in advance.. > > -m > > > > ps> This is my setting: > >> sessionInfo() > R version 3.1.1 (2014-07-10) > Platform: x86_64-apple-darwin13.1.0 (64-bit) > > locale: > [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 > > attached base packages: > [1] stats graphics grDevices utils datasets methods base > > other attached packages: > [1] nlme_3.1-117 devtools_1.5 > > loaded via a namespace (and not attached): > [1] digest_0.6.4 evaluate_0.5.5 grid_3.1.1 httr_0.5 > lattice_0.20-29 memoise_0.2.1 parallel_3.1.1 RCurl_1.95-4.3 > stringr_0.6.2 tools_3.1.1 whisker_0.3-2 > > > > And regarding my nlme-package from CRAN: > > Information on package ?nlme? > > > Description: > > > Package: nlme > > Version: 3.1-117 > > Date: 2014-03-31 > > Priority: recommended > > Title: Linear and Nonlinear Mixed Effects Models > > Authors at R: c(person("Jos?", "Pinheiro", role = "aut", comment > = "S version"), person("Douglas", "Bates", role = "aut", comment = "up > to 2007"), person("Saikat", "DebRoy", role = "ctb", comment = "up > to 2002"), person("Deepayan", "Sarkar", role = "ctb", > comment = "up to 2005"), person("EISPACK authors", role = "ctb", > comment = "src/rs.f"), person("R-core", email > > "R-core at R-project.org", role = c("aut", "cre"))) > > Description: Fit and compare Gaussian linear and nonlinear > mixed-effects models. > > Depends: graphics, stats, R (>= 3.0.0) > > Imports: lattice > > Suggests: Hmisc, MASS > > LazyData: yes > > ByteCompile: yes > > Encoding: UTF-8 > > License: GPL (>= 2) > > BugReports: http://bugs.r-project.org > > Packaged: 2014-03-31 07:56:40 UTC; ripley > > Author: Jos? Pinheiro [aut] (S version), Douglas Bates > [aut] (up to 2007), Saikat DebRoy [ctb] (up to 2002), Deepayan Sarkar > [ctb] (up to 2005), EISPACK authors [ctb] (src/rs.f), R-core [aut, > > cre] > > Maintainer: R-core <R-core at R-project.org> > > NeedsCompilation: yes > > Repository: CRAN > > Date/Publication: 2014-03-31 10:16:43 > > Built: R 3.1.1; x86_64-apple-darwin13.1.0; 2014-07-11 > 12:37:41 UTC; unix > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >-- Brian D. Ripley, ripley at stats.ox.ac.uk Emeritus Professor of Applied Statistics, University of Oxford 1 South Parks Road, Oxford OX1 3TG, UK