Learn R Programming

VGAM (version 0.9-3)

gevUC: The Generalized Extreme Value Distribution

Description

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

Usage

dgev(x, location = 0, scale = 1, shape = 0, log = FALSE, tolshape0 =
     sqrt(.Machine$double.eps), oobounds.log = -Inf, giveWarning = FALSE)
pgev(q, location = 0, scale = 1, shape = 0)
qgev(p, location = 0, scale = 1, shape = 0)
rgev(n, location = 0, scale = 1, shape = 0)

Arguments

x, q
vector of quantiles.
p
vector of probabilities.
n
number of observations. If length(n) > 1 then the length is taken to be the number required.
location
the location parameter $\mu$.
scale
the (positive) scale parameter $\sigma$. Must consist of positive values.
shape
the shape parameter $\xi$.
log
Logical. If log = TRUE then the logarithm of the density is returned.
tolshape0
Positive numeric. Threshold/tolerance value for resting whether $\xi$ is zero. If the absolute value of the estimate of $\xi$ is less than this value then it will be assumed zero and a Gumbel distribution will be used.
oobounds.log, giveWarning
Numeric and logical. The GEV distribution has support in the region satisfying 1+shape*(x-location)/scale > 0. Outside that region, the logarithm of the density is assigned oobounds.log, which equates to a zero density.

Value

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

Details

See gev, the VGAM family function for estimating the two parameters by maximum likelihood estimation, for formulae and other details. Apart from n, all the above arguments may be vectors and are recyled to the appropriate length if necessary.

References

Coles, S. (2001) An Introduction to Statistical Modeling of Extreme Values. London: Springer-Verlag.

See Also

gev, egev, vglm.control.

Examples

Run this code
loc <- 2; sigma <- 1; xi <- -0.4
x <- seq(loc - 3, loc + 3, by = 0.01)
plot(x, dgev(x, loc, sigma, xi), type = "l", col = "blue", ylim = c(0,1),
     main = "Blue is density, red is cumulative distribution function",
     sub = "Purple are 5,10,...,95 percentiles", ylab = "", las = 1)
abline(h = 0, col = "blue", lty = 2)
lines(qgev(seq(0.05, 0.95, by = 0.05), loc, sigma, xi), 
      dgev(qgev(seq(0.05, 0.95, by = 0.05), loc, sigma, xi), loc, sigma, xi),
      col = "purple", lty = 3, type = "h")
lines(x, pgev(x, loc, sigma, xi), type = "l", col = "red")
abline(h = 0, lty = 2)

pgev(qgev(seq(0.05, 0.95, by = 0.05), loc, sigma, xi), loc, sigma, xi)

Run the code above in your browser using DataLab