Learn R Programming

lmomco (version 2.3.6)

plotlmrdia: Plot L-moment Ratio Diagram

Description

Plot the L-moment ratio diagram of L-skew and L-kurtosis from an L-moment ratio diagram object returned by lmrdia. This diagram is useful for selecting a distribution to model the data. The application of L-moment diagrams is well documented in the literature. This function is intended to function as a demonstration of L-moment ratio diagram plotting.

Usage

plotlmrdia(lmr=NULL, nopoints=FALSE, nolines=FALSE, nolimits=FALSE,
           noaep4=FALSE, nogev=FALSE, noglo=FALSE, nogpa=FALSE,
           nope3=FALSE,  nogno=FALSE, nogov=FALSE, nocau=TRUE,
           noexp=FALSE,  nonor=FALSE, nogum=FALSE, noray=FALSE,
           nosla=TRUE,  nouni=FALSE,
           xlab="L-SKEW", ylab="L-KURTOSIS", add=FALSE, empty=FALSE,
           autolegend=FALSE, xleg=NULL, yleg=NULL, ...)

Arguments

lmr

L-moment diagram object from lmrdia, if NULL, then empty is internally set to TRUE.

nopoints

If TRUE then point distributions are not drawn.

nolines

If TRUE then line distributions are not drawn.

nolimits

If TRUE then theoretical limits of L-moments are not drawn.

noaep4

If TRUE then line of Asymmetric Exponential Power distribution is not drawn.

nogev

If TRUE then line of Generalized Extreme Value distribution is not drawn.

noglo

If TRUE then line of Generalized Logistic distribution is not drawn.

nogno

If TRUE then line of Generalized Normal (Log-Normal3) distribution is not drawn.

nogov

If TRUE then line of Govindarajulu distribution is not drawn.

nogpa

If TRUE then line of Generalized Pareto distribution is not drawn.

nope3

If TRUE then line of Pearson Type III distribution is not drawn.

nocau

If TRUE then point (limiting, TL-moment [trim=1]) of the Cauchy distribution is not drawn.

noexp

If TRUE then point of Exponential distribution is not drawn.

nonor

If TRUE then point of Normal distribution is not drawn.

nogum

If TRUE then point of Gumbel distribution is not drawn.

noray

If TRUE then point of Rayleigh distribution is not drawn.

nouni

If TRUE then point of Uniform distribution is not drawn.

nosla

If TRUE then point (limiting, TL-moment [trim=1]) of the Slash distribution is not drawn.

xlab

Horizonal axis label passed to xlab of the plot function.

ylab

Vertical axis label passed to ylab of the plot function.

add

A logical to toggle a call to plot to start a new plot, otherwise, just the trajectories are otherwise plotted.

empty

A logical to return before any trajectories are plotted but after the condition of the add has been evaluated, and “empty” character string is returned.

autolegend

Generate the legend by built-in algorithm.

xleg

X-coordinate of the legend.

yleg

Y-coordinate of the legend.

...

Additional arguments passed onto the plot function.

References

Asquith, W.H., 2011, Distributional analysis with L-moment statistics using the R environment for statistical computing: Createspace Independent Publishing Platform, ISBN 978--146350841--8.

Asquith, W.H., 2014, Parameter estimation for the 4-parameter asymmetric exponential power distribution by the method of L-moments using R: Computational Statistics and Data Analysis, v. 71, pp. 955--970.

Hosking, J.R.M., 1986, The theory of probability weighted moments: Research Report RC12210, IBM Research Division, Yorkton Heights, N.Y.

Hosking, J.R.M., 1990, L-moments---Analysis and estimation of distributions using linear combinations of order statistics: Journal of the Royal Statistical Society, Series B, v. 52, pp. 105--124.

Hosking, J.R.M., and Wallis, J.R., 1997, Regional frequency analysis--An approach based on L-moments: Cambridge University Press.

Vogel, R.M., and Fennessey, N.M., 1993, L moment diagrams should replace product moment diagrams: Water Resources Research, v. 29, no. 6, pp. 1745--1752.

See Also

lmrdia, plotradarlmr

Examples

Run this code
# NOT RUN {
plotlmrdia(lmrdia()) # simplest of all uses

# }
# NOT RUN {
# A more complex example follows.
# For a given mean, L-scale, L-skew, and L-kurtosis, let us use a sample size
# of 30 and using 500 simulations, set the L-moments in lmr and fit the Kappa.
T3 <- 0.34; T4 <- 0.21; n <- 30; nsim <- 500
lmr <- vec2lmom(c(10000,7500,T3,T4)); kap <- parkap(lmr)

# Next, create vectors for storing simulated L-skew (t3) and L-kurtosis (t4)
t3 <- t4 <- vector(mode = "numeric")

# Next, perform nsim simulations by randomly drawing from the Kappa distribution
# and compute the L-moments in sim.lmr and store the t3 and t4 of each sample.
for(i in 1:nsim) {
  sim.lmr <- lmoms(rlmomco(n,kap))
  t3[i] <- sim.lmr$ratios[3]; t4[i] <- sim.lmr$ratios[4]
}

# Next, plot the diagram with a legend at a specified location, and "zoom"
# into the diagram by manually setting the axis limits.
plotlmrdia(lmrdia(), autolegend=TRUE, xleg=0.1, yleg=.41,
        xlim=c(-.1,.5), ylim=c(-.1,.4), nopoints=TRUE, empty=TRUE)

# Follow up by plotting the {t3,t4} values and the mean of these.
points(t3,t4)
points(mean(t3),mean(t4),pch=16,cex=3)

# Now plot the trajectories of the distributions.
plotlmrdia(lmrdia(), add=TRUE)

# Finally, plot crossing dashed lines at true values of L-skew and L-kurtosis.
lines(c(T3,T3),c(-1,1),col=8, lty=2)
lines(c(-1,1),c(T4,T4),col=8, lty=2) #
# }

Run the code above in your browser using DataLab