Learn R Programming

lmomco (version 0.88)

par2cdf2: Equivalent Cumulative Distribution Function of Two Distributions

Description

This function computes the nonexceedance probability of a given quantile from the weighted combination of two quantile functions. The distributions are specified by the two parameter object arguments. The left-tail parameter object is the distribution governing the left tail; the right-tail parameter object is the distribution governing the right tail. The quantile function algebra is

$$Q(F) = (1-F) \times Q_{lefttail}(F) + F \times Q_{righttail}(F)$$

where $Q(F)$ is the equivalent quantile for nonexceedance probability $F$ computed by the tail weigthing. $Q_{lefttail}(F)$ is the left-tail quantile function; $Q_{righttail}$ is the right-tail quantile function. The par2cdf2 function inverses the above equation for $F$. Parameter objects are discussed in vec2par and lmom2par functions. If the optional weight argument is provided, then the multiplication of 1-F or F is replaced by 1-weight or weight, respectively. If weight=0, then the quantiles for the right tail are returned, and if weight=1, then the quantiles for the left tail are returned.

A word of caution. The resulting weighted quantile function is not checked for monotonic increase with $F$. This is a required property of quantile functions.

Usage

par2cdf2(x,leftpara,rightpara,weight=NULL,...)

Arguments

x
A real value.
leftpara
The left-tail parameters from lmom2par or similar.
rightpara
The right-tail parameters from lmom2par or similar.
weight
An optional weighting argument to use in lieu of F.
...
The additional arguments are passed to the cumulative distribution function such as paracheck=FALSE for the generalized Lambda distribution (cdfgld).

Value

  • Nonexceedance probability ($0 \le F \le 1$) for x from the two distributions.

See Also

par2cdf, lmom2par, and par2qua2

Examples

Run this code
# Contrived example
lmr       <- lmom.ub(rnorm(20))
leftpara  <- parnor(lmr)
rightpara <- pargev(lmr)
combined.median <- par2qua2(0.5,leftpara,rightpara)
combined.nonexceed <- par2cdf2(combined.median,leftpara,rightpara)

Run the code above in your browser using DataLab