How to put factor variables in an nls formula ?
On 8/19/05, FranÂçois Morneau <francois.morneau at cirad.fr> wrote:
Le 11:12 19/08/2005,Douglas Bates Âécrit:
On 8/18/05, FranÂçois Morneau <francois.morneau at cirad.fr> wrote:
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=list(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)
It is not clear to me what you are trying to do. Can you give us a bit more information such as how many parameter estimates you expect to obtain and what they would represent?
I'm trying to estimate the effect of the edaphic factor 'Drain' on tree diameter growth. The relationship between diameter 'D' and diameter increment 'Dinc' follow a Gompertz model written : Dinc= r D log(Asym/D) where 'r' is a parameter related to growth speed and 'Asym' is the diameter max where growth stops. My hypothesis is that 'Asym' doesn't change according to edaphic condition but 'r' does. So I'd like to estimate 'Asym' and four 'r'i parameters for each level i of 'Drain' with 'r'i= r0 + effect of 'Drain'i I hope this is helpful...
Yes, it is.
Do I need to use another function instead of nls to correctly include the factor 'Drain' ? Thanks, FranÂçois
FranÂçois Morneau UMR ÂÉcologie des ForÂêts de Guyane Kourou, French Guiana