fitGrowth(Curvedata, model = c("line","exp","lexp","dexp"),
origin = FALSE, nstart = 100, upb = 0.5,
weight = TRUE, plot = TRUE)model="line", see details(0,upb), see detailsy=a*x+b;
(2) "exp": an exponential model, y=a*[1-exp(-b*x)]+c;
(3) "lexp": an exponential plus linear model, y=a*[1-exp(-b*x)]+c*x+d;
(4) "dexp": a double exponential model, y=a*[1-exp(-b*x)]+c*[1-exp(-d*x)]+e.
The fitting process is performed using the Levenberg-Marquardt algorithm (minpack: Fortran 90 version by John Burkardt, freely available at weight=TRUE, a weighted procedure will be performed through weighting each data point by its inverse variance. In non-linear growth curve fitting, a series of random numbers (i.e., b in "exp" and "lexp", or c(b, d) in "dexp") are initialized with a uniform generator from the space (0,upb), then other parameters (i.e., c(a, c) in "exp", c(a, c, d) in "lexp", or c(a, c, e) in "dexp") are estimated with a Linear Algebra method. For a growth curve that shows high saturating dose, it is more reasonable to use a small upb value. For example, a double saturating exponential model with a upb value less than 0.05 or 0.01 usually works better. The fitting process will be performed repeatedly with nstart times to find an optimal estimate. User is advised to set argument plot=TRUE if possible to visualize the fitting quality.Curvedata<-cbind(c(0, 18, 36, 54, 72, 0, 18),
c(0.026, 1.55, 2.39, 3.46, 4.13, 0.023, 1.61),
c(0.005, 0.11, 0.27, 0.22, 0.20, 0.008, 0.24))
fitGrowth(Curvedata, model="exp", origin=FALSE, plot=TRUE)Run the code above in your browser using DataLab