Weibull {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 |
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
|
Details
The Weibull distribution with shape
parameter a
and
scale
parameter \sigma
has density given by
f(x) = (a/\sigma) {(x/\sigma)}^{a-1} \exp (-{(x/\sigma)}^{a})
for x > 0
.
The cumulative distribution function is
F(x) = 1 - \exp(-{(x/\sigma)}^a)
on x > 0
, 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.
Invalid arguments will result in return value NaN
, with a warning.
The length of the result is determined by n
for
rweibull
, and is the maximum of the lengths of the
numerical arguments for the other functions.
The numerical arguments other than n
are recycled to the
length of the result. Only the first elements of the logical
arguments are used.
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
Distributions for other standard distributions, including the Exponential which 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, tolerance = 1e-15)
all.equal(qweibull(x/11, shape = 1, scale = pi), qexp(x/11, rate = 1/pi))