One other minor glitch I just noticed:

    x <- seq_along(x)

should read

    x <- seq_along(y)

    cheers,

        Rolf

On 08/04/12 10:08, Gabor Grothendieck wrote:
On Sat, Apr 7, 2012 at 3:58 PM, Gabor Grothendieck
<ggrothendi...@gmail.com>  wrote:
On Fri, Apr 6, 2012 at 9:42 PM, help ly<help.ly2...@gmail.com>  wrote:
Dear All,

I would like to make a quadratic with a plateau model in R. Is there a
package in R doing this? The bentcableAR package seems won't work.

The link below describes what I am looking for in R exactly:
http://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_nlin_sect033.htm

Use nls directly:

y<- c(0.46, 0.47, 0.57, 0.61, 0.62, 0.68, 0.69, 0.78, 0.7, 0.74,
0.77, 0.78, 0.74, 0.8, 0.8, 0.78)
x<- seq_along(x)

Mean<- function(x, alpha, beta, gamma) {
   pmin(alpha + beta*x + gamma*x*x, alpha - beta^2/(4 * gamma))
}
fm<- nls(y ~ Mean(x, alpha, beta, gamma), start = list(alpha = 0.45,
beta = 0.05, gamma = -0.0025))
fm
summary(fm)

plot(y ~ x)
lines(fitted(fm) ~ x)
It was pointed out to me offline that Mean as defined above is not
identical to the definition in the poster's link.  Here is a revision:

y<- c(0.46, 0.47, 0.57, 0.61, 0.62, 0.68, 0.69, 0.78, 0.7, 0.74,
0.77, 0.78, 0.74, 0.8, 0.8, 0.78)
x<- seq_along(x)

Mean<- function(x, alpha, beta, gamma) {
        ifelse(x<  -beta/(2 * gamma), alpha + beta*x + gamma*x*x,
                alpha - beta^2/(4 * gamma))
}
fm<- nls(y ~ Mean(x, alpha, beta, gamma), start = list(alpha = 0.45,
beta = 0.05, gamma = -0.0025))
fm
summary(fm)

plot(y ~ x)
lines(fitted(fm) ~ x)
with(as.list(coef(fm)), abline(v = -beta/(2 * gamma)))



______________________________________________
R-help@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.

Reply via email to