[R] nlme leading minor error

Douglas Bates dmbates at gmail.com
Wed Jun 22 15:23:05 CEST 2005


On 6/22/05, Petr Pikal <petr.pikal at precheza.cz> wrote:
> Dear all
> 
> I am struggling with nlme and error message. Even going through
> Pinheiro, Bates nlme book did not gave me a clue how to avoid
> this.
> 
> fit <- nlme(ce ~ fi1 / ((1+exp(fi2-fi3*tepl))^(1/fi4)), data =
> temp1na.gr,
> start = c(fi1=30, fi2=-100, fi3=-.05, fi4=40),
> fixed = fi1+fi2+fi3+fi4~1,
> random = pdDiag(fi2+fi4~1),
> groups = ~spol.f)
> 
> gives
> 
> Error in chol((value + t(value))/2) : the leading minor of order 1 is
> not positive definite
> 
> Is this error due to lack of experimental points?
> Here you have one typical part of my data. It is for level spol.f =
> "3/11".
> 
> tepl    ce
> 800     28.87
> 800     29.35
> 825     29
> 850     28.73
> 875     26.83
> 900     24.07
> 
> I have 1-5 points for each level (2 levels with 5 points, 1 level with
> 4 points, several levels with 2 and 3 points and few with only one
> point.
> 
> Fitting this model to each level separately led to several sets of
> coeficients fi1-fi4 and the separate fits were quite OK.
> 
> Please give me a hint what can be the cause for this error message
> and how I shall organize my data to avoid this. (Lack of
> experimental points is also an answer as I can do some subsequent
> measurement.

The first thing to do is to plot the data for each level of spol.f and
see if it is reasonable that you would be able to estimate four
parameters from such a curve.

Then try setting verbose = TRUE, control = list(msVerbose = TRUE) in
your call to nlme to see how the parameters are being changed during
the iterations.




More information about the R-help mailing list