Learn R Programming

mgcv (version 1.8-16)

rmvn: Generate multivariate normal deviates

Description

Generates multivariate normal random deviates.

Usage

rmvn(n,mu,V)

Arguments

n
number of simulated vectors required.
mu
the mean of the vectors: either a single vector of length p=ncol(V) or an n by p matrix.
V
A positive semi definite covariance matrix.

Value

n row matrix, with each row being a draw from a multivariate normal density with covariance matrix V and mean vector mu. Alternatively each row may have a different mean vector if mu is a vector.

Details

Uses a `square root' of V to transform stadard normal deviates to multivariate normal with the correct covariance matrix.

See Also

ldTweedie, Tweedie

Examples

Run this code
library(mgcv)
V <- matrix(c(2,1,1,2),2,2) 
mu <- c(1,3)
n <- 1000
z <- rmvn(n,mu,V)
crossprod(sweep(z,2,colMeans(z)))/n ## observed covariance matrix
colMeans(z) ## observed mu 

Run the code above in your browser using DataLab