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 `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=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))

[Package

*stats* version 2.5.0

Index]