Last data update: 2014.03.03

R: normal quantile function with precision
norminvpR Documentation

normal quantile function with precision

Description

computes with tail-precision the quantile function of the standard normal distribution at 0≤ p≤ 1, and truncated to the interval [l,u]; Infinite values for vectors l and u are accepted;

Usage

norminvp(p, l, u)

Arguments

p

quantile at 0≤ p≤ 1

l

lower truncation limit

u

upper truncation limit

Details

Suppose we wish to simulate a random variable Z drawn from N(μ,σ^2) and conditional on l<Z<u using the inverse transform method. To achieve this, first compute X=norminvp(runif(1),(l-mu)/sig,(u-mu)/sig) and then set Z=mu+sig*X

Value

A real number – the quantile value of the truncated normal distribution.

Note

If you wish to simulate truncated normal variables fast, use trandn. Using norminvp is advisable only when needed, for example, in quasi-Monte Carlo or antithetic sampling, where the inverse transform method is unavoidable.

Author(s)

Z. I. Botev, email: botev@unsw.edu.au and web page: http://web.maths.unsw.edu.au/~zdravkobotev/

References

Z. I. Botev (2015), The Normal Law Under Linear Restrictions: Simulation and Estimation via Minimax Tilting, submitted to JRSS(B)

See Also

See Also as trandn

Examples

d=150;l=1:d;u=l+Inf;
x=norminvp(runif(d),l,u) # simulate via inverse transform method

Results