# GenExtrVal: The Generalized Extreme Value Distribution In DescTools: Tools for Descriptive Statistics

## Description

Density function, distribution function, quantile function and random generation for the generalized Extreme value (GenExtrVal) distribution with location, scale and shape parameters.

## Usage

 ```1 2 3 4``` ```dGenExtrVal(x, loc=0, scale=1, shape=0, log = FALSE) pGenExtrVal(q, loc=0, scale=1, shape=0, lower.tail = TRUE) qGenExtrVal(p, loc=0, scale=1, shape=0, lower.tail = TRUE) rGenExtrVal(n, loc=0, scale=1, shape=0) ```

## Arguments

 `x, q` Vector of quantiles. `p` Vector of probabilities. `n` Number of observations. `loc, scale, shape` Location, scale and shape parameters; the `shape` argument cannot be a vector (must have length one). `log` Logical; if `TRUE`, the log density is returned. `lower.tail` Logical; if `TRUE` (default), probabilities are P[X <= x], otherwise, P[X > x]

## Details

The GenExtrVal distribution function with parameters loc = a, scale = b and shape = s is

G(x) = exp[-{1+s(z-a)/b}^(-1/s)]

for 1+s(z-a)/b > 0, where b > 0. If s = 0 the distribution is defined by continuity. If 1+s(z-a)/b <= 0, the value z is either greater than the upper end point (if s < 0), or less than the lower end point (if s > 0).

The parametric form of the GenExtrVal encompasses that of the Gumbel, Frechet and reverse Weibull distributions, which are obtained for s = 0, s > 0 and s < 0 respectively. It was first introduced by Jenkinson (1955).

## Value

`dGenExtrVal` gives the density function, `pGenExtrVal` gives the distribution function, `qGenExtrVal` gives the quantile function, and `rGenExtrVal` generates random deviates.

## Author(s)

Alec Stephenson <alec_stephenson@hotmail.com>

## References

Jenkinson, A. F. (1955) The frequency distribution of the annual maximum (or minimum) of meteorological elements. Quart. J. R. Met. Soc., 81, 158–171.

`rFrechet`, `rGumbel`, `rRevWeibull`
 ```1 2 3 4 5 6 7``` ```dGenExtrVal(2:4, 1, 0.5, 0.8) pGenExtrVal(2:4, 1, 0.5, 0.8) qGenExtrVal(seq(0.9, 0.6, -0.1), 2, 0.5, 0.8) rGenExtrVal(6, 1, 0.5, 0.8) p <- (1:9)/10 pGenExtrVal(qGenExtrVal(p, 1, 2, 0.8), 1, 2, 0.8) ##  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 ```