**StATS: Nonlinear Least Squares in S-plus and R (June 28, 2004)**.

I've worked on a brief explanation of how to fit an S-shaped curve using SPSS and someone wanted to know how to do this in S-plus. Here's a simple example.

`xc <- c(0.8,0.5,0.2,-0.2,-0.5,-0.8)`

yn <- c(0.02,0.10,0.29,0.20,0.80,1.00)

nls.mod1 <- nls(yn~1/(1+exp(b*xc-a)),start=list(a=0,b=10))

summary(nls.mod1)

Formula: yn ~ 1/(1 + exp(b * xc - a))

Parameters:

Value Std. Error t value

a -2.70380 1.4019 -1.92867

b 7.90714 3.7126 2.12981

Residual standard error: 0.149848 on 4 degrees of freedom

Correlation of Parameter Estimates:

a

b -0.908

plot(xc,yn,xlim=c(-1,1))

x.grid <- seq(-1,1,by=0.01)

lines(x.grid,predict(nls.mod1,newdata=list(xc=x.grid)))

This same code should also work in R.

This page was written by Steve Simon while working at Children's Mercy Hospital. Although I do not hold the copyright for this material, I am reproducing it here as a service, as it is no longer available on the Children's Mercy Hospital website. Need more information? I have a page with general help resources. You can also browse for pages similar to this one at Category: Nonlinear regression.