# [R] Non-linear least squares

Peter Ehlers ehlers at ucalgary.ca
Mon Apr 2 17:24:51 CEST 2012

```On 2012-04-01 17:31, n.surawski wrote:
> Greetings,
>
> I am having some troubles with the nls() function in R V 2.14.2.  I am doing
> some modelling where I want to predict the mass of leaf litter on the forest
> floor (X) as a function of time since fire (t).  Fortunately, I have a
> differential equation that I can fit to the data which is acceptable on
> theoretical grounds.  It is: X(t) = (L/k)[1-exp(-kt)], where L is the litter
> fall rate (t/ha/yr) and k is the decomposition rate (/yr).   I have two
> problems:
>
> (1) I have experimental error in both X and t.  Is there a way to take this
> into account with nls?
> (2) Is there a way to constrain the parameter estimates from nls?
>
> For example, for a data snippet:
> X =  4.6  4.1  4.7 11.0
> t = 1.5 4.5 7.0 8.0
>
> After I run nls I get:
> L = 0.873
> k = -0.059
>
> The estimate for L is ok, but k (by definition) should be greater than 0.
>
> Is there a way around this?

Yes.
Plot your data, decide which you trust more: your data or theory.
There is no way to use the given data to help substantiate
the proposed theory.

As to your other questions above:
(1) If the uncertainty in your t values is small compared
with that in the X values, then I would just ignore it.

(2) To force a parameter to be positive, see ?SSasymp or
for your case, perhaps ?SSasympOrig.

Peter Ehlers

>
> Many thanks,
>
> Nic Surawski.
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Non-linear-least-squares-tp4524812p4524812.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

```