Learn R Programming

lmomco (version 2.4.14)

x2xlo: Conversion of a Vector through a Left-Hand Threshold to Setup Conditional Probability Computations

Description

This function takes a vector of numerical values and subselects the values above and those equal to or less than the leftout argument and assigns plotting positions based on the a argument (passed into the pp function) and returns a list providing helpful as well as necessary results needed for conditional probability adjustment to support for general magnitude and frequency analysis as often is needed in hydrologic applications. This function only performs very simple vector operations. The real features for conditional probability application are found in the f2flo and f2flo functions.

Usage

x2xlo(x, leftout=0, a=0, ghost=NULL)

Value

An R

list is returned.

xin

The subselection of values greater than the leftout threshold.

ppin

The plotting positions of the subselected values greater than the leftout threshold. These plotting positions correspond to those data values in xin.

xout

The subselection of values less than or equal to the leftout threshold.

ppout

The plotting positions of the subselected values less than or equal to the leftout threshold. These plotting positions correspond to those data values in xout.

pp

The plotting position of the largest value left out of xin.

thres

The threshold value provided by the argument leftout.

nin

Number of values greater than the threshold.

nlo

Number of values less than or equal to the threshold.

n

Total number of values: nin + nlo.

source

The source of the parameters: “x2xlo”.

Arguments

x

A vector of values.

leftout

The lower threshold for which to leave out. The default of zero sets up for conditional probability adjustments for values equal (or less than) zero. This argument is called “left out” so as to reinforce the idea that it is a lower threshold hold on which to “leave out” data.

a

The plotting position coefficient passed to pp.

ghost

A ghosting or shadowing variable to be dragged along and then split up according to the lower threshold. If not NULL, then the output also contains ghostin and ghostout. This is a useful feature say if the year of data collection is associated with x and the user wants a convenient way to keep the proper association with the year. This feature is only for the convenience of the user and does not represent some special adjustment to the underlying concepts. A warning is issued if the lengths of x and ghost are not the same, but the function continues proceeding.

Author

W.H. Asquith

See Also

f2flo, flo2f, f2f, xlo2qua, par2qua2lo

Examples

Run this code
if (FALSE) {
set.seed(62)
Fs <- nonexceeds()
type <- "exp"; parent <- vec2par(c(0,13.4), type=type)
X <- rlmomco(100, parent); a <- 0; PP <- pp(X, a=a); Xs <- sort(X)
par <- lmom2par(lmoms(X), type=type)
plot(PP, Xs, type="n", xlim=c(0,1), ylim=c(.1,100), log="y",
     xlab="NONEXCEEDANCE PROBABILITY", ylab="RANDOM VARIATE")
points(PP, Xs, col=3, cex=2, pch=0, lwd=2)
X[X < 2.1] <- X[X < 2.1]/2 # create some low outliers
Xlo <- x2xlo(X, leftout=2.1, a=a)
parlo <- lmom2par(lmoms(Xlo$xin), type=type)
points(Xlo$ppout, Xlo$xout, pch=4, col=1)
points(Xlo$ppin, Xlo$xin,   col=4, cex=.7)
lines(Fs, qlmomco(Fs, parent), lty=2, lwd=2)
lines(Fs, qlmomco(Fs, par),    col=2, lwd=4)
lines(sort(c(Xlo$ppin,.999)),
      qlmomco(f2flo(sort(c(Xlo$ppin,.999)), pp=Xlo$pp), parlo), col=4, lwd=3)
# Notice how in the last line plotted that the proper plotting positions of the data
# greater than the threshold are passed into the f2flo() function that has the effect
# of mapping conventional nonexceedance probabilities into the conditional probability
# space. These mapped probabilities are then passed into the quantile function.
legend(.3,1, c("Simulated random variates",
                "Values to 'leave' (condition) out because x/2 (low outliers)",
                "Values to 'leave' in", "Exponential parent",
                "Exponential fitted to whole data set",
                "Exponential fitted to left-in values"), bty="n", cex=.75,
                pch   =c(0,4,1,NA,NA,NA), col=c(3,1,4,1,2,4), pt.lwd=c(2,1,1,1),
                pt.cex=c(2,1,0.7,1),      lwd=c(0,0,0,2,2,3),    lty=c(0,0,0,2,1,1))
}

Run the code above in your browser using DataLab