Hope these help for alternatives to lm()? I show the use of a 2nd order polynomial as an example to generalize a bit.
Sometimes from the subject line two separate responses can appear as reposts when in fact they are not... (though there are identical reposts too). I should probably figure a way around that. --- Stephen Tucker <[EMAIL PROTECTED]> wrote: > ## Data input > input <- > "Year Count > 1999 3 > 2000 5 > 2001 9 > 2002 30 > 2003 62 > 2004 154 > 2005 245 > 2006 321" > > dat <- read.table(textConnection(input),header=TRUE) > dat[,] <- lapply(dat,function(x) x-x[1]) > # shifting in origin; will need to add back in later > > ## Nonlinear least squares > plot(dat) > out <- nls(Count~b0*exp(b1*Year),data=dat, > start=list(b0=1,b1=1)) > lines(dat[,1],fitted(out),col=2) > out <- nls(Count~b0+b1*Year+b2*Year^2,data=dat, #polynomial > start=list(b0=0,b1=1,b2=1)) > lines(dat[,1],fitted(out),col=3) > > ## Optim > f <- function(.pars,.dat,.fun) sum((.dat[,2]-.fun(.pars,.dat[,1]))^2) > fitFun <- function(b,x) cbind(1,x,x^2)%*%b > expFun <- function(b,x) b[1]*exp(b[2]*x) > > plot(dat) > out <- optim(c(0,1,1),f,.dat=dat,.fun=fitFun) > lines(dat[,1],fitFun(out$par,dat[,1]),col=2) > out <- optim(c(1,1),f,.dat=dat,.fun=expFun) > lines(dat[,1],expFun(out$par,dat[,1]),col=3) ____________________________________________________________________________________ Got a little couch potato? Check out fun summer activities for kids. ______________________________________________ R-help@stat.math.ethz.ch 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.