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