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.