SSweibull {stats} | R Documentation |
This selfStart
model evaluates the Weibull model for growth
curve data and its gradient. It has an initial
attribute that
will evaluate initial estimates of the parameters Asym
, Drop
,
lrc
, and pwr
for a given set of data.
SSweibull(x, Asym, Drop, lrc, pwr)
x |
a numeric vector of values at which to evaluate the model. |
Asym |
a numeric parameter representing the horizontal asymptote on
the right side (very small values of |
Drop |
a numeric parameter representing the change from
|
lrc |
a numeric parameter representing the natural logarithm of the rate constant. |
pwr |
a numeric parameter representing the power to which |
This model is a generalization of the SSasymp
model in
that it reduces to SSasymp
when pwr
is unity.
a numeric vector of the same length as x
. It is the value of
the expression Asym-Drop*exp(-exp(lrc)*x^pwr)
. If all of
the arguments Asym
, Drop
, lrc
, and pwr
are
names of objects, the gradient matrix with respect to these names is
attached as an attribute named gradient
.
Douglas Bates
Ratkowsky, David A. (1983), Nonlinear Regression Modeling, Dekker. (section 4.4.5)
Chick.6 <- subset(ChickWeight, (Chick == 6) & (Time > 0)) SSweibull(Chick.6$Time, 160, 115, -5.5, 2.5) # response only local({ Asym <- 160; Drop <- 115; lrc <- -5.5; pwr <- 2.5 SSweibull(Chick.6$Time, Asym, Drop, lrc, pwr) # response _and_ gradient }) getInitial(weight ~ SSweibull(Time, Asym, Drop, lrc, pwr), data = Chick.6) ## Initial values are in fact the converged values fm1 <- nls(weight ~ SSweibull(Time, Asym, Drop, lrc, pwr), data = Chick.6) summary(fm1) ## Data and Fit: plot(weight ~ Time, Chick.6, xlim = c(0, 21), main = "SSweibull() fit to Chick.6") ux <- par("usr")[1:2]; x <- seq(ux[1], ux[2], length.out=250) lines(x, do.call(SSweibull, c(list(x=x), coef(fm1))), col = "red", lwd=2) As <- coef(fm1)[["Asym"]]; abline(v = 0, h = c(As, As - coef(fm1)[["Drop"]]), lty = 3)