Learn R Programming

Runuran (version 0.21.0)

uq: Quantile function for "unuran" object

Description

Evaluates quantile of distribution approximately using a unuran object that implements an inversion method. [Universal] -- Quantile Function.

Usage

uq(unr, U)

Arguments

unr
a unuran object that implements an inversion menthod.
U
vector of probabilities.

Details

The routine evaluates the quantiles (inverse CDF) for a given (vector of) probabilities approximately. It requires a unuran object that implements an inversion method. Currently these are
  • HINV
  • NINV
  • PINV
for continuous distributions and
  • DGT
for discrete distributions. uq returns the left boundary of the domain of the distribution if argument U is less than or equal to 0 and the right boundary if U is greater than or equal to 1.

References

W. H"ormann, J. Leydold, and G. Derflinger (2004): Automatic Nonuniform Random Variate Generation. Springer-Verlag, Berlin Heidelberg.

See Also

unuran,unuran.new.

Examples

Run this code
## Compute quantiles of normal distribution using method 'PINV'
gen <- pinv.new(pdf=dnorm, lb=-Inf, ub=Inf)
uq(gen,seq(0,1,0.05))

## Compute quantiles of user-defined distribution using method 'PINV'
pdf <- function (x) { exp(-x) }
gen <- pinv.new(pdf=pdf, lb=0, ub=Inf, uresolution=1.e-12)
uq(gen,seq(0,1,0.05))

## Compute quantiles of binomial distribution using method 'DGT'
gen <- dgt.new(pv=dbinom(0:1000,1000,0.4), from=0)
uq(gen,seq(0,1,0.05))


## Compute quantiles of normal distribution using method 'HINV'
## (using 'advanced' interface)
gen <- unuran.new("normal()","hinv")
uq(gen,0.975)
uq(gen,c(0.025,0.975))

## Compute quantiles of user-defined distributio using method 'HINV'
## (using 'advanced' interface)
cdf <- function (x) { 1.-exp(-x) }
pdf <- function (x) { exp(-x) }
dist <- new("unuran.cont", cdf=cdf, pdf=pdf, lb=0, ub=Inf)
gen <- unuran.new(dist, "hinv; u_resolution=1.e-12")
uq(gen,seq(0,1,0.05))

Run the code above in your browser using DataLab