Compute a single L-moment from a cumulative distribution function. This function is sequentially called by cdf2lmoms
to mimic the output structure for multiple L-moments seen by other L-moment computation functions in lmomco.
For \(r = 1\), the quantile function is actually used for numerical integration to compute the mean. The expression for the mean is $$ \lambda_1 = \int_0^1 x(F)\; \mathrm{d} F\mbox{,} $$ for quantile function \(x(F)\) and nonexceedance probability \(F\). For \(r \ge 2\), the L-moments can be computed from the cumulative distribution function \(F(x)\) by $$ \lambda_r = \frac{1}{r}\sum_{j=0}^{r-2} (-1)^j {r-2 \choose j}{r \choose j+1} \int_{-\infty}^{\infty} \! [F(x)]^{r-j-1}\times [1 - F(x)]^{j+1}\; \mathrm{d}x\mbox{.} $$ This equation is described by Asquith (2011, eq. 6.8), Hosking (1996), and Jones (2004).
cdf2lmom(r, para, fdepth=0, silent=TRUE, ...)
The value for the requested L-moment is returned (\(\lambda_r\)).
The order of the L-moment.
The parameters from lmom2par
or similar.
The depth of the nonexceedance/exceedance probabilities to determine the lower and upper integration limits for the integration involving \(F(x)\) through a call to the par2qua
function. The default of 0 implies the quantile for \(F=0\) and quantile for \(F=1\) as the respective lower and upper limits.
A logical to be passed into cdf2lmom
and then onto the try
functions encompassing the integrate
function calls.
Additional arguments to pass to par2qua
and par2cdf
.
W.H. Asquith
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.
Hosking, J.R.M., 1996, Some theoretical results concerning L-moments: Research Report RC14492, IBM Research Division, T.J. Watson Research Center, Yorktown Heights, New York.
Jones, M.C., 2004, On some expressions for variance, covariance, skewness and L-moments: Journal of Statistical Planning and Inference, v. 126, pp. 97--106.
cdf2lmoms
para <- vec2par(c(.9,.4), type="nor")
cdf2lmom(4, para) # summarize the value
Run the code above in your browser using DataLab