Dear S-Plussers
I am using S-Plus 6.1
I have a data set of
observations of seedlings of 3 species in 72 microplots subjected to 6 warming
treatments from 11 occasions along a time gradient. A plot of data seemed to
indicate that these data could be modelled with a logistic growth function.

I did the modelling using
the self-starting function SSlogis():
minus.grp
<- groupedData(seedlings~s.time|microplot, data="">
minus.lis
<- nlsList(seedlings ~ SSlogis(s.time, Asym, xmid, scal) | microplot,
data="">
minus.nlme <-
nlme(minus.lis)
I further included species
and warming treatment (measured temperature above ambient) as fixed-effects
minusFix <-
fixef(minus.nlme)
options(contrasts
= c("contr.treatment","contr.poly"))
minus.nlme5
<- update(minus.nlme, fixed= Asym + xmid + scal ~ warming^2+species-1, start
= c(minusFix[1],0,0,0,minusFix[2],0,0,0, minusFix[3],0,0,0))
This actually worked well
and the asymptote (Asym) and bending point (xmid) were both significantly
affected by the warming treatment and xmid also by species.
Now, from the plot it
appears that especially one species (Saxifraga) show a clear decline in
seedling number at the latest occasion (September) and I have reason to believe
that low counts are due to leaf senescence not death. Apparently these
observations create outlying residuals in my model and I thus tried to exclude
the September observations and refit the model. Unfortunately I receive an
error from nlme:
minus.grp2 <-
groupedData(seedlings~s.time|microplot, data="">
minus.lis <-
nlsList(seedlings ~ SSlogis(s.time, Asym, xmid, scal) | microplot,
data="">
minus.nlme <-
nlme(minus.lis)
Problem in
nlme.formula(model = structure(.Data = "" ~ SSlo..: Step halving factor
reduced below minimum in PNLS step
Use traceback() to see
the call stack
> traceback()
11: eval(action,
sys.parent())
10:
doErrorAction("Problem in nlme.formula(model = structure(.Data = ""
~ SSlogis(s.time, Asym, xmid, scal), class = \"formula\"), ..: Step
halving factor reduced below minimum in PNLS step", 1000)
9: stop("Step
halving factor reduced below minimum in PNLS step")
8: nlme.formula(model =
structure(.Data = "" ~ SSlogis(s.time, Asym, xmid, scal), class =
"formula"), data = "" fixed = list(structure(.Data = "" ~
1, class = "formula"), structure(.Data = "">
~
7: NULL
6: nlme.formula(model =
structure(.Data = "" ~ SSlogis(s.time, Asym, xmid, scal), class =
"formula"), data = "" fixed = list(structure(.Data = "" ~
1, class = "formula"), structure(.Data = "">
~
5: eval(this.call, local
= sys.parent(1.))
4:
do.call("nlme.formula", thisCall)
3:
nlme.nlsList(minus.lis)
2:
eval(_expression_(minus.nlme <- nlme(minus.lis)))
1:
Message: Problem in
nlme.formula(model = structure(.Data = "" ~ SSlogis(s.time, Asym, xmid, scal),
class = "formula"), ..: Step halving factor reduced below minimum in
PNLS step
Here I got stuck –
can anyone point to a way forward? I did try to modify the pnlsTol criterium in
nlmeControl() but received the same error message.
Best wishes
Rasmus
Rasmus Ejrnæs
Associate Professor
Arctic Station
3953 Qeqertarsuaq
www.nat.ku.dk/as