Learn R Programming

evd (version 2.3-6)

gev: The Generalized Extreme Value Distribution

Description

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

Usage

dgev(x, loc=0, scale=1, shape=0, log = FALSE) 
pgev(q, loc=0, scale=1, shape=0, lower.tail = TRUE) 
qgev(p, loc=0, scale=1, shape=0, lower.tail = TRUE)
rgev(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]

Value

dgev gives the density function, pgev gives the distribution function, qgev gives the quantile function, and rgev generates random deviates.

Details

The GEV distribution function with parameters \(\code{loc} = a\), \(\code{scale} = b\) and \(\code{shape} = s\) is $$G(z) = \exp\left[-\{1+s(z-a)/b\}^{-1/s}\right]$$ 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 \leq 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 GEV 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).

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.

See Also

fgev, rfrechet, rgumbel, rrweibull

Examples

Run this code
# NOT RUN {
dgev(2:4, 1, 0.5, 0.8)
pgev(2:4, 1, 0.5, 0.8)
qgev(seq(0.9, 0.6, -0.1), 2, 0.5, 0.8)
rgev(6, 1, 0.5, 0.8)
p <- (1:9)/10
pgev(qgev(p, 1, 2, 0.8), 1, 2, 0.8)
## [1] 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
# }

Run the code above in your browser using DataLab