\HeaderA{Weibull}{The Weibull Distribution}{Weibull}
\aliasA{dweibull}{Weibull}{dweibull}
\aliasA{pweibull}{Weibull}{pweibull}
\aliasA{qweibull}{Weibull}{qweibull}
\aliasA{rweibull}{Weibull}{rweibull}
\keyword{distribution}{Weibull}
\begin{Description}\relax
Density, distribution function, quantile function and random
generation for the Weibull distribution with parameters \code{shape}
and \code{scale}.
\end{Description}
\begin{Usage}
\begin{verbatim}
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)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{x, q}] vector of quantiles.
\item[\code{p}] vector of probabilities.
\item[\code{n}] number of observations. If \code{length(n) > 1}, the length
is taken to be the number required.
\item[\code{shape, scale}] shape and scale parameters, the latter defaulting to 1.
\item[\code{log, log.p}] logical; if TRUE, probabilities p are given as log(p).
\item[\code{lower.tail}] logical; if TRUE (default), probabilities are
\eqn{P[X \le x]}{P[X <= x]}, otherwise, \eqn{P[X > x]}{P[X > x]}.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
The Weibull distribution with \code{shape} parameter \eqn{a}{} and
\code{scale} parameter \eqn{\sigma}{b} has density given by
\deqn{f(x) = (a/\sigma) {(x/\sigma)}^{a-1} \exp (-{(x/\sigma)}^{a})}{f(x) = (a/b) (x/b)^(a-1) exp(- (x/b)^a)}
for \eqn{x > 0}{}.
The cumulative distribution function is
\eqn{F(x) = 1 - \exp(-{(x/\sigma)}^a)}{F(x) = 1 - exp(- (x/b)^a)}, the
mean is \eqn{E(X) = \sigma \Gamma(1 + 1/a)}{E(X) = b Gamma(1 + 1/a)}, and
the \eqn{Var(X) = \sigma^2(\Gamma(1 + 2/a)-(\Gamma(1 + 1/a))^2)}{Var(X) = b^2 * (Gamma(1 + 2/a) - (Gamma(1 + 1/a))^2)}.
\end{Details}
\begin{Value}
\code{dweibull} gives the density,
\code{pweibull} gives the distribution function,
\code{qweibull} gives the quantile function, and
\code{rweibull} generates random deviates.

Invalid arguments will result in return value \code{NaN}, with a warning.
\end{Value}
\begin{Note}\relax
The cumulative hazard \eqn{H(t) = - \log(1 - F(t))}{H(t) = - log(1 - F(t))}
is \code{-pweibull(t, a, b, lower = FALSE, log = TRUE)} which is just
\eqn{H(t) = {(t/b)}^a}{}.
\end{Note}
\begin{Source}\relax
\code{[dpq]weibull} are calculated directly from the definitions.
\code{rweibull} uses inversion.
\end{Source}
\begin{References}\relax
Johnson, N. L., Kotz, S. and Balakrishnan, N. (1995)
\emph{Continuous Univariate Distributions}, volume 1, chapter 21.
Wiley, New York.
\end{References}
\begin{SeeAlso}\relax
The \LinkA{Exponential}{Exponential} is a special case of the Weibull distribution.
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
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=FALSE, log=TRUE), -(x/pi)^2.5,
          tol = 1e-15)
all.equal(qweibull(x/11, shape = 1, scale = pi), qexp(x/11, rate = 1/pi))
\end{ExampleCode}
\end{Examples}

