Skip to content
Prev 75805 / 398502 Next

How to put factor variables in an nls formula ?

Hello,

I want to fit a Gompertz model for tree diameter growth that depends on a 4 
levels edaphic factor (?Drain?) and I don?t manage to introduce the factor 
variable in the formula.
Dinc is the annual diameter increment and D is the Diameter.

 >treestab
 >     Dinc     D      Drain
  [1,]  0.03  26.10     2
  [2,]  0.04  13.05     1
  [3,]  0.00  24.83     1
  [4,]  0.00  15.92     4
  [5,]  0.00  12.25     4
  [6,]  0.00  11.78     4
  [7,]  0.00  16.87     4
  [8,]  0.00  15.12     4
  [9,] -0.01  13.53     4
[10,] 0.04  16.55     3
[11,] 0.025 16.07     3
[12,] 0.00  30.24     3
[13,] 0.06  15.28     2
etc

 >contrasts(Drain)<-contr.sum(4)
 >mymodel<-nls(Dinc~r*(1+Drain)*D*log(Asym/D), data=treestab, start(r=0.05, 
Asym=40))

Error in numericDeriv(form[[3]], names(ind), env) :
         Missing value or an infinity produced when evaluating the model
In addition: Warning messages:
1: + not meaningful for factors in: Ops.factor(1, Drain)
2: + not meaningful for factors in: Ops.factor(1, Drain)

Do I need to use another function instead of nls to correctly include the 
factor ?Drain? ?

Thanks,

Fran??ois