[R] nls, gnls, starting values, and covariance matrix

sdfrost@ucsd.edu sdfrost at ucsd.edu
Sat Apr 19 21:26:35 CEST 2003


Dear R-Help,

I'm trying to fit a model of the following form using gnls. I've fitted it 
using nlsList with the following syntax:

nlsList(Y~log(exp(a0-a1*X)+exp(b0-b1*X))|K,start=list
(a0=6,a1=0.2,b0=4.5,b1=0.001),data=data.frame(Y=y,X=X,K=k)))

which works just fine:

<snip>

Coefficients:
         a0        a1       b0            b1 
 1 5.459381 0.5006811 5.137458 -0.0040548687
 2 5.761496 0.1716723 6.359151 -0.0022802595
 3 5.683510 0.5436838 5.906742 -0.0007788076
 4 6.225745 0.2807003 5.875803 -0.0008351051
 5 6.558350 0.1388707 5.071080  0.0014594212
 6 5.483639 0.2757080 2.406683 -0.0003282243
 7 5.746064 0.4354105 5.883882 -0.0002577279
 8 5.448679 0.3385350 2.851571  0.0011627360
 9 5.259762 0.5654369 5.498967  0.0015381718
10 6.546022 0.8008781 4.913085  0.0051150166
12 5.602982 1.1538595 5.008253 -0.0006087786
13 6.452605 0.1752357 6.229393  0.0007899073
15 5.937199 0.2214811 4.980386  0.0081102533
16 5.998689 0.2925840 6.077816  0.0062388250

However, I'd like to be able to fit the model using gnls. The format is a 
little different, but I get an error when I use the following syntax:

gnls(Y~log(exp(a0-a1*X)+exp(b0-b1*X)),params=a0+a1+b0+b1~K,start=list(rep(c
(6.02,0.2,4.5,0.001),16)),data=data.frame(Y=y,X=x,K=k),control=list
(msVerbose=TRUE,apVar=FALSE,returnObject=TRUE))

Error in gnls(Y ~ log(exp(a0 - a1 * X) + exp(b0 - b1 * X)), params = a0 +  : 
        Approx. covariance matrix for parameter estimates not of full rank

I assume that I'm getting the format of my starting values wrong. Any 
suggestions would be greatly appreciated.

Best wishes
Simon



More information about the R-help mailing list