R: Multivariate Normal Density and Random Deviates

Mvnorm {mvtnorm} | R Documentation

## Multivariate Normal Density and Random Deviates

### Description

These functions provide the density function and a random number generator for the multivariate normal distribution with mean equal to `mean` and covariance matrix `sigma`.

### Usage

    dmvnorm(x, mean = rep(0, p), sigma = diag(p), log = FALSE)
    rmvnorm(n, mean = rep(0, nrow(sigma)), sigma = diag(length(mean)),
            method=c("eigen", "svd", "chol"), pre0.9_9994 = FALSE)

### Arguments

`x` | vector or matrix of quantiles. If `x` is a matrix, each row is taken to be a quantile.
`n` | number of observations.
`mean` | mean vector, default is `rep(0, length = ncol(x))`.
`sigma` | covariance matrix, default is `diag(ncol(x))`.
`log` | logical; if `TRUE`, densities d are given as log(d).
`method` | string specifying the matrix decomposition used to determine the matrix root of `sigma`. Possible methods are eigenvalue decomposition (`"eigen"`, default), singular value decomposition (`"svd"`), and Cholesky decomposition (`"chol"`). The Cholesky is typically fastest, not by much though.
`pre0.9_9994` | logical; if `FALSE`, the output produced in mvtnorm versions up to 0.9-9993 is reproduced. In 0.9-9994, the output is organized such that `rmvnorm(10,...)` has the same first ten rows as `rmvnorm(100, ...)` when called with the same seed.

### Author(s)

Friedrich Leisch and Fabian Scheipl

### See Also

`pmvnorm`, `rnorm`, `qmvnorm`

### Examples

    dmvnorm(x=c(0,0))
    dmvnorm(x=c(0,0), mean=c(1,1))

    sigma <- matrix(c(4,2,2,3), ncol=2)
    x <- rmvnorm(n=500, mean=c(1,2), sigma=sigma)
    colMeans(x)
    var(x)

    x <- rmvnorm(n=500, mean=c(1,2), sigma=sigma, method="chol")
    colMeans(x)
    var(x)

    plot(x)

[Package mvtnorm version 1.0-6 Index]