Weibull model functions
'weibull' and 'weibull2' provide a very general way of specifying Weibull dose response functions, under various constraints on the parameters.
weibull1(fixed = c(NA, NA, NA, NA), names = c("b", "c", "d", "e"), method = c("1", "2", "3", "4"), ssfct = NULL, fctName, fctText) weibull2(fixed = c(NA, NA, NA, NA), names = c("b", "c", "d", "e"), method = c("1", "2", "3", "4"), ssfct = NULL, fctName, fctText) weibull2x(fixed = rep(NA, 5), names = c("b", "c", "d", "e", "t0"), method = c("1", "2", "3", "4"), ssfct = NULL, fctName, fctText)
fixed |
numeric vector. Specifies which parameters are fixed and at what value they are fixed. NAs for parameter that are not fixed. |
names |
a vector of character strings giving the names of the parameters (should not contain ":"). The default is reasonable (see under 'Usage'). The order of the parameters is: b, c, d, e (see under 'Details'). |
method |
character string indicating the self starter function to use. |
ssfct |
a self starter function to be used. |
fctName |
optional character string used internally by convenience functions. |
fctText |
optional character string used internally by convenience functions. |
As pointed out in Seber and Wild (1989), there exist two different parameterisations of the Weibull model. They do not yield the same fitted curve for a given dataset (see under Examples).
One four-parameter Weibull model ('weibull1') is
f(x) = c + (d-c) \exp(-\exp(b(\log(x)-\log(e)))).
Another four-parameter Weibull model ('weibull2') is
f(x) = c + (d-c) (1 - \exp(-\exp(b(\log(x)-\log(e))))).
Both four-parameter functions are asymmetric with inflection point at the dose e.
The value returned is a list containing the non-linear function, the self starter function and the parameter names.
The functions are for use with the function drm
.
Christian Ritz
Seber, G. A. F. and Wild, C. J (1989) Nonlinear Regression, New York: Wiley \& Sons (pp. 338–339).
These convenience functions should be used rather than the underlying functions
weibull1
and weibull2
.
## Fitting two different Weibull models ryegrass.m1 <- drm(ryegrass, fct = W1.4()) plot(ryegrass.m1, conLevel=0.5) ryegrass.m2 <- drm(ryegrass, fct = W2.4()) plot(ryegrass.m2, conLevel=0.5, add = TRUE, type = "none", col = 2) # you could also look at the ED values to see the difference ## A four-parameter Weibull model with b fixed at 1 ryegrass.m3 <- drm(ryegrass, fct = W1.4(fixed = c(1, NA, NA, NA))) summary(ryegrass.m3) ## A four-parameter Weibull model with the constraint b>3 ryegrass.m4 <- drm(ryegrass, fct = W1.4(), lowerl = c(3, -Inf, -Inf, -Inf), control = drmc(constr=TRUE)) summary(ryegrass.m4)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.