# [R] Generating a best fit line for non linear data

Andrew Robinson A.Robinson at ms.unimelb.edu.au
Fri Apr 29 03:49:41 CEST 2011

```I think that you probably need to provide the x values to nls. Try,
for example,

fit <- nls(species ~ a *(1 - exp(-b*samples)),start = list(a = 27, b = .15))

I hope that this helps,

Andrew

On Thu, Apr 28, 2011 at 01:56:43PM -0700, BornSurvivor wrote:
> I have the following data set, and I have to find the line of best fit using
> this equation,
> y = a*(1 - exp(-b*x)).
>
> samples = seq(1,20,by=1)
> species = c(5,8,9,9,11,11,12,15,17,19,20,20,21,23,23,25,25,27,27,27)
> plot(samples,species, main = "Accumulation Curve for Tree Species Richness",
> xlab = "Samples", ylab = "Number of Species")
> curve((y = 27*(1 - exp(-.15*x))),from=0,to=20,add = T)
>
> I tried to find the best fit curve using:
>
> fit = nls(species ~ a *(1 - exp(-b*x)),start = list(a = 27, b = .15)
>
> but I get a "parameters without starting value in 'data': x" and I don't
> have any idea what this means, or how to fix the above code.
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Generating-a-best-fit-line-for-non-linear-data-tp3482193p3482193.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
> and provide commented, minimal, self-contained, reproducible code.

--
Andrew Robinson
Program Manager, ACERA
Department of Mathematics and Statistics            Tel: +61-3-8344-6410
University of Melbourne, VIC 3010 Australia               (prefer email)
http://www.ms.unimelb.edu.au/~andrewpr              Fax: +61-3-8344-4599
http://www.acera.unimelb.edu.au/

Forest Analytics with R (Springer, 2011)
http://www.ms.unimelb.edu.au/FAwR/
Introduction to Scientific Programming and Simulation using R (CRC, 2009):
http://www.ms.unimelb.edu.au/spuRs/

```