Weibull model functions

Description

'weibull' and 'weibull2' provide a very general way of specifying Weibull dose response functions, under various constraints on the parameters.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
  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)

Arguments

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.

Details

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.

Value

The value returned is a list containing the non-linear function, the self starter function and the parameter names.

Note

The functions are for use with the function drm.

Author(s)

Christian Ritz

References

Seber, G. A. F. and Wild, C. J (1989) Nonlinear Regression, New York: Wiley \& Sons (pp. 338–339).

See Also

For convenience several special cases of the function 'weibull1' are available: W1.2, W1.3 and W1.4.

Special cases of 'weibull2' are: W2.2, W2.3 and W2.4.

These convenience functions should be used rather than the underlying functions weibull1 and weibull2.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
## 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)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.