Learn R Programming

mvtnorm (version 0.9-8)

qmvnorm: Quantiles of the Multivariate 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, algorithm = GenzBretz(), ...)

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 \le x] = p$, upper.tail gives $x$ with $P[X > x] = p$ and both.ta
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 sigm
algorithm
an object of class GenzBretz or Miwa specifying both the algorithm to be used as well as the associated hyper paramete
...
additional parameters to be passed to uniroot.

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.

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.

See Also

pmvnorm, qmvt

Examples

Run this code
qmvnorm(0.95, sigma = diag(2), tail = "both")

Run the code above in your browser using DataLab