This function estimates the lower and upper limits of a specified confidence interval for a vector of nonexceedance probabilities lmom2par
). This function is a wrapper on qua2ci.simple
; please consult the documentation for that function for further details of the simulations.
genci.simple(para, n, f=NULL, level=0.90, edist="gno", nsim=1000,
expand=FALSE, verbose=FALSE, showpar=FALSE, quiet=FALSE)
The parameters from lmom2par
or similar.
The sample size for each Monte Carlo simulation will use.
Vector of nonexceedance probabilities (NULL
, then the vector as returned by nonexceeds
is used.
The confidence interval (level
f
). This argument is passed unused to qua2ci.simple
.
The model for the error distribution. Although the Normal (the default) commonly is assumed in error analyses, it need not be, as support for other distributions supported by lmomco is available. The default is the Generalized Normal so the not only is the Normal possible but asymmetry is also accomodated (lmomgno
). For example, if the L-skew (qua2ci.simple
.
The number of simulations (replications) for the sample size n
to perform. Much larger simulation numbers are recommended---see discussion about qua2ci.simple
. This argument is passed unused to qua2ci.simple
. Users are encouraged to experiment with qua2ci.simple
to get a feel for the value of edist
and nsim
.
Should the returned values be expanded to include information relating to the distribution type and L-moments of the distribution at the corresponding nonexceedance probabilities---in other words the information necessary to reconstruct the reported confidence interval. The default is FALSE
. If expand=FALSE
then a single data.frame
of the lower and upper limits along with the true quantile value of the parent is returned. If expand=TRUE
, then a more complicated list
containing multiple data.frame
s is returned.
The verbosity of the operation of the function. This argument is passed unused to qua2ci.simple
.
The parameters of the edist
for each simulation for each qua2ci.simple
are printed. This argument is passed unused to qua2ci.simple
.
Suppress incremental counter for a count down of the
An R data.frame
or list
is returned (see discussion of argument expand
). The following elements could be available.
A vector of
The lower value of the confidence interval having nonexceedance probability equal to (1-level)/2
.
The true quantile value from
The upper value of the confidence interval having 1-(1-level)/2
.
The second L-moment (L-scale, data.frame
because it measures the fundamental sampling variability.
The paraments of the parent distribution if expand=TRUE
.
The type of error distribution used to model the confidence interval if the argument expand=TRUE
is set.
The L-moment of the distribution of quantiles for the corresponding expand=TRUE
is set.
An environment containing the parameter lists of the error distribution fit to the elmoms
for each of the f
if the argument expand=TRUE
is set.
A failure integer.
Text message associated with ifail
.
# NOT RUN {
# For all these examples, nsim is way too small.
mean <- 0; sigma <- 100
parent <- vec2par(c(mean,sigma), type='nor') # make parameter object
f <- c(0.5, 0.8, 0.9, 0.96, 0.98, 0.99) # nonexceed probabilities
# nsim is small for speed of example not accuracy.
CI <- genci.simple(parent, n=10, f=f, nsim=20); FF <- CI$nonexceed
plot( FF, CI$true, type='l', lwd=2)
lines(FF, CI$lwr, col=2); lines(FF, CI$upr, col=3)
pdf("twoCIplots.pdf")
# The qnorm() call has been added to produce "normal probability"
# paper on the horizonal axis. The parent is heavy-tailed.
GEV <- vec2par(c(10000,1500,-0.3), type='gev') # a GEV distribution
CI <- genci.simple(GEV, n=20, nsim=200, edist='gno')
ymin <- log10(min(CI$lwr[! is.na(CI$lwr)]))
ymax <- log10(max(CI$upr[! is.na(CI$upr)]))
qFF <- qnorm(CI$nonexceed)
plot( qFF, log10(CI$true), type='l', ylim=c(ymin,ymax),lwd=2)
lines(qFF, log10(CI$lwr), col=2); lines(qFF, log10(CI$upr), col=3)
# another error distribution model
CI <- genci.simple(GEV, n=20, nsim=200, edist='aep4')
lines(qFF,log10(CI$lwr),col=2,lty=2); lines(qFF,log10(CI$upr),col=3,lty=2)
dev.off() #
# }
Run the code above in your browser using DataLab