| Weibull {Rlab} | R Documentation |
The Weibull Distribution
Description
Density, distribution function, quantile function and random
generation for the Weibull distribution with parameters alpha
(or shape) and beta (or scale).
This special Rlab implementation allows the parameters alpha
and beta to be used, to match the function description
often found in textbooks.
Usage
dweibull(x, shape, scale = 1, alpha = shape, beta = scale, log = FALSE)
pweibull(q, shape, scale = 1, alpha = shape, beta = scale,
lower.tail = TRUE, log.p = FALSE)
qweibull(p, shape, scale = 1, alpha = shape, beta = scale,
lower.tail = TRUE, log.p = FALSE)
rweibull(n, shape, scale = 1, alpha = shape, beta = scale)
Arguments
x, q |
vector of quantiles. |
p |
vector of probabilities. |
n |
number of observations. If |
shape, scale |
shape and scale parameters, the latter defaulting to 1. |
alpha, beta |
alpha and beta 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
|
Details
The Weibull distribution with alpha (or shape)
parameter a and beta (or scale) parameter
\sigma has density given by
f(x) = (a/\sigma) {(x/\sigma)}^{a-1} \exp (-{(x/\sigma)}^{a})
for x > 0.
The cumulative is
F(x) = 1 - \exp(-{(x/\sigma)}^a), the
mean is E(X) = \sigma \Gamma(1 + 1/a), and
the Var(X) = \sigma^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.
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.
See Also
dexp for the Exponential which is a special case of a
Weibull distribution.
Examples
x <- c(0,rlnorm(50))
all.equal(dweibull(x, alpha = 1), dexp(x))
all.equal(pweibull(x, alpha = 1, beta = pi), pexp(x, rate = 1/pi))
## Cumulative hazard H():
all.equal(pweibull(x, 2.5, pi, lower=FALSE, log=TRUE), -(x/pi)^2.5, tol=1e-15)
all.equal(qweibull(x/11, alpha = 1, beta = pi), qexp(x/11, rate = 1/pi))