Learn R Programming

fExtremes (version 4032.84)

GevDistribution: Generalized Extreme Value Distribution

Description

Density, distribution function, quantile function, random number generation, and true moments for the GEV including the Frechet, Gumbel, and Weibull distributions.

The GEV distribution functions are:

dgevdensity of the GEV distribution,
pgevprobability function of the GEV distribution,
qgevquantile function of the GEV distribution,
rgevrandom variates from the GEV distribution,
gevMomentscomputes true mean and variance,
gevSliderdisplays density or rvs from a GEV.

Usage

dgev(x, xi = 1, mu = 0, beta = 1, log = FALSE)
pgev(q, xi = 1, mu = 0, beta = 1, lower.tail = TRUE)
qgev(p, xi = 1, mu = 0, beta = 1, lower.tail = TRUE)
rgev(n, xi = 1, mu = 0, beta = 1)

gevMoments(xi = 0, mu = 0, beta = 1)

gevSlider(method = c("dist", "rvs"))

Value

d* returns the density,

p* returns the probability,

q* returns the quantiles, and

r* generates random variates.

All values are numeric vectors.

Arguments

log

a logical, if TRUE, the log density is returned.

lower.tail

a logical, if TRUE, the default, then probabilities are P[X <= x], otherwise, P[X > x].

method

a character string denoting what should be displayed. Either the density and "dist" or random variates "rvs".

n

the number of observations.

p

a numeric vector of probabilities. [hillPlot] -
probability required when option quantile is chosen.

q

a numeric vector of quantiles.

x

a numeric vector of quantiles.

xi, mu, beta

xi is the shape parameter, mu the location parameter, and beta is the scale parameter. The default values are xi=1, mu=0, and beta=1. Note, if xi=0 the distribution is of type Gumbel.

Author

Alec Stephenson for R's evd and evir package, and
Diethelm Wuertz for this R-port.

References

Coles S. (2001); Introduction to Statistical Modelling of Extreme Values, Springer.

Embrechts, P., Klueppelberg, C., Mikosch, T. (1997); Modelling Extremal Events, Springer.

Examples

Run this code
## rgev -
   # Create and plot 1000 Weibull distributed rdv:
   r = rgev(n = 1000, xi = -1)
   plot(r, type = "l", col = "steelblue", main = "Weibull Series")
   grid()
   
## dgev - 
   # Plot empirical density and compare with true density:
   hist(r[abs(r)<10], nclass = 25, freq = FALSE, xlab = "r", 
     xlim = c(-5,5), ylim = c(0,1.1), main = "Density")
   box()
   x = seq(-5, 5, by = 0.01)
   lines(x, dgev(x, xi = -1), col = "steelblue")
   
## pgev -
   # Plot df and compare with true df:
   plot(sort(r), (1:length(r)/length(r)), 
     xlim = c(-3, 6), ylim = c(0, 1.1),
     cex = 0.5, ylab = "p", xlab = "q", main = "Probability")
   grid()
   q = seq(-5, 5, by = 0.1)
   lines(q, pgev(q, xi = -1), col = "steelblue")
 
## qgev -   
   # Compute quantiles, a test:
   qgev(pgev(seq(-5, 5, 0.25), xi = -1), xi = -1)   

## gevMoments:
   # Returns true mean and variance:
   gevMoments(xi = 0, mu = 0, beta = 1)
   
## Slider:
   # gevSlider(method = "dist")
   # gevSlider(method = "rvs")

Run the code above in your browser using DataLab