x2xlo | R Documentation |
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.
x2xlo(x, leftout=0, a=0, ghost=NULL)
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 |
ghost |
A ghosting or shadowing variable to be dragged along and then split up according to the lower threshold. If not |
An R list
is returned.
xin |
The subselection of values greater than the |
ppin |
The plotting positions of the subselected values greater than the |
xout |
The subselection of values less than or equal to the |
ppout |
The plotting positions of the subselected values less than or equal to the |
pp |
The plotting position of the largest value left out of |
thres |
The threshold value provided by the argument |
nin |
Number of values greater than the threshold. |
nlo |
Number of values less than or equal to the threshold. |
n |
Total number of values: |
source |
The source of the parameters: “x2xlo”. |
W.H. Asquith
f2flo
, flo2f
, f2f
, xlo2qua
, par2qua2lo
## Not run:
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))
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.