input <- " t y 1 5.3 2 7.2 3 9.6 4 12.9 5 17.1 6 23.2" dat<-read.table(textConnection(input),header=TRUE,sep="") t<-dat[,1] y<-dat[,2] `y=3.975*(1.341^t)` is the resule of fit,how can i use `nls` function to get it? [[alternative HTML version deleted]]
Berend Hasselman
2013-Dec-16 08:03 UTC
[R] how to fit exponential curve such as a*b^t in r?
On 16-12-2013, at 08:52, ???? <1248283536 at qq.com> wrote:> input <- " > t y > 1 5.3 > 2 7.2 > 3 9.6 > 4 12.9 > 5 17.1 > 6 23.2" > dat<-read.table(textConnection(input),header=TRUE,sep="") > t<-dat[,1] > y<-dat[,2] > > `y=3.975*(1.341^t)` is the resule of fit,how can i use `nls` function to get it?Have you looked at ?nls. Have you simply tried nls(y~a*b^t,data=dat) You can also do a linear regression on log(y) ~ A + B* t. And afterwards transform to the original coefficients. Berend> [[alternative HTML version deleted]] >Please do not post in html.> ______________________________________________ > 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.
Read the examples section of ?nls You probably need to provide a start list of values. There are some points you should note from the Posting Guide mentioned in the footer of emails on this list: this is not a homework help forum, you should provide a reproducible example, and you should not post in HTML format. --------------------------------------------------------------------------- Jeff Newmiller The ..... ..... Go Live... DCN:<jdnewmil at dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go... Live: OO#.. Dead: OO#.. Playing Research Engineer (Solar/Batteries O.O#. #.O#. with /Software/Embedded Controllers) .OO#. .OO#. rocks...1k --------------------------------------------------------------------------- Sent from my phone. Please excuse my brevity. "????" <1248283536 at qq.com> wrote:>input <- " > t y > 1 5.3 > 2 7.2 > 3 9.6 > 4 12.9 > 5 17.1 > 6 23.2" > dat<-read.table(textConnection(input),header=TRUE,sep="") > t<-dat[,1] > y<-dat[,2] > >`y=3.975*(1.341^t)` is the resule of fit,how can i use `nls` function >to get it? > [[alternative HTML version deleted]] > >______________________________________________ >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.