fitGrowth(Curvedata, model = c("line","exp","lexp","dexp"),
origin = FALSE, nstart = 100, upb = 0.5, plot = TRUE)
model="line"
, see details(0,upb)
, see details"line"
: a linear model, y=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"
: an double exponential model, y=a*[1-exp(-b*x)]+c*[1-exp(-d*x)]+e
.
The weighted curve fitting is performed using the Levenberg-Marquardt algorithm by J.J. More (available at b(d)
values (i.e., the reciprocal of the saturating dose) are initialized randomly with a uniform distribution in the space (0,upb)
, then other parameters are estimated with a Linear Algebra method. For a growth curve that shows high saturating dose, it is more reasonable to use a smaller 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
to be TRUE if possible in order to see if the fitted growth curve is correct.data(Signaldata)
dat<-analyst(Signaldata[[1]], Redose=c(80,160,240,320,0,80)*0.13,
model="line", origin=TRUE, plot=FALSE, nsim=100)
fitGrowth(dat$Curvedata, model="exp", origin=FALSE, plot=TRUE)
Run the code above in your browser using DataLab