qmvnorm {mvtnorm} R Documentation

Quantiles of the Multvariate Normal Distribution

Description

Computes the equicoordinate quantile function of the multivariate normal distribution for arbitrary correlation matrices based on an inversion of the algorithms by Genz and Bretz.

Usage

```qmvnorm(p, interval = c(-10, 10), tail = c("lower.tail", "upper.tail", "both.tails"),
mean = 0, corr = NULL, sigma = NULL, maxpts = 25000, abseps = 0.001,
releps = 0, ...)
```

Arguments

 `p` probability. `interval` a vector containing the end-points of the interval to be searched by `uniroot`. `tail` specifies which quantiles should be computed. `lower.tail` gives the quantile x for which P[X <= x] = p, `upper.tail` gives x with P[X > x] = p and `both.tails` leads to x with P[-x <= X <= x] = p. `mean` the mean vector of length n. `corr` the correlation matrix of dimension n. `sigma` the covariance matrix of dimension n. Either `corr` or `sigma` can be specified. If `sigma` is given, the problem is standardized. If neither `corr` nor `sigma` is given, the identity matrix is used for `sigma`. `maxpts` maximum number of function values as integer. `abseps` absolute integration error tolerance as double. `releps` relative integration error tolerance as double. `...` additional paramters to be passed to `uniroot`.

Details

Only equicoordinate quantiles are computed, i.e., the quantiles in each dimension coincide. Currently, the distribution function is inverted by using the `uniroot` function which may result in limited accuracy of the quantiles.

Value

A list with four components: `quantile` and `f.quantile` give the location of the quantile and the value of the function evaluated at that point. `iter` and `estim.prec` give the number of iterations used and an approximate estimated precision from `uniroot`.

`pmvnorm`, `qmvt`
```qmvnorm(0.95, sigma = diag(2), tail = "both")