Weibull                package:stats                R Documentation

The Weibull Distribution

Description:

     Density, distribution function, quantile function and random
     generation for the Weibull distribution with parameters 'shape'
     and 'scale'.

Usage:

     dweibull(x, shape, scale = 1, log = FALSE)
     pweibull(q, shape, scale = 1, lower.tail = TRUE, log.p = FALSE)
     qweibull(p, shape, scale = 1, lower.tail = TRUE, log.p = FALSE)
     rweibull(n, shape, scale = 1)

Arguments:

    x, q: vector of quantiles.

       p: vector of probabilities.

       n: number of observations. If 'length(n) > 1', the length is
          taken to be the number required.

shape, scale: shape and scale parameters, the latter defaulting to 1.

log, log.p: logical; if TRUE, probabilities p are given as log(p).

lower.tail: logical; if TRUE (default), probabilities are P[X <= x],
          otherwise, P[X > x].

Details:

     The Weibull distribution with 'shape' parameter a and 'scale'
     parameter b has density given by

               f(x) = (a/b) (x/b)^(a-1) exp(- (x/b)^a)

     for x >= 0. The cumulative distribution function is F(x) = 1 -
     exp(- (x/b)^a) on x >= 0, the mean is E(X) = b Gamma(1 + 1/a), and
     the Var(X) = b^2 * (Gamma(1 + 2/a) - (Gamma(1 + 1/a))^2).

Value:

     'dweibull' gives the density, 'pweibull' gives the distribution
     function, 'qweibull' gives the quantile function, and 'rweibull'
     generates random deviates.

     Invalid arguments will result in return value 'NaN', with a
     warning.

Note:

     The cumulative hazard H(t) = - log(1 - F(t)) is '-pweibull(t, a,
     b, lower = FALSE, log = TRUE)' which is just H(t) = {(t/b)}^a.

Source:

     '[dpq]weibull' are calculated directly from the definitions.
     'rweibull' uses inversion.

References:

     Johnson, N. L., Kotz, S. and Balakrishnan, N. (1995) _Continuous
     Univariate Distributions_, volume 1, chapter 21. Wiley, New York.

See Also:

     The Exponential is a special case of the Weibull distribution.

Examples:

     x <- c(0,rlnorm(50))
     all.equal(dweibull(x, shape = 1), dexp(x))
     all.equal(pweibull(x, shape = 1, scale = pi), pexp(x, rate = 1/pi))
     ## Cumulative hazard H():
     all.equal(pweibull(x, 2.5, pi, lower.tail=FALSE, log.p=TRUE), -(x/pi)^2.5,
               tol = 1e-15)
     all.equal(qweibull(x/11, shape = 1, scale = pi), qexp(x/11, rate = 1/pi))

