Simulate from a Multivariate Normal Distribution
DESCRIPTION:
Produces one or more samples from the specified
multivariate normal distribution.
USAGE:
mvrnorm(n = 1, mu, Sigma, tol = 1e-6, empirical = F)
REQUIRED ARGUMENTS:
- n
-
the number of samples required.
OPTIONAL ARGUMENTS:
- mu
-
a vector giving the means of the variables.
- Sigma
-
a positive-definite symmetric matrix specifying the covariance matrix
of the variables.
- tol
-
tolerance (relative to largest variance) for numerical lack of
positive-definiteness in
Sigma
.
- empirical
-
logical. If true, mu and Sigma specify the empirical not population
mean and covariance matrix.
VALUE:
If
n = 1
a vector of the same length as
mu
, otherwise an
n
by
length(mu)
matrix with one sample in each
row.
SIDE EFFECTS:
Causes creation of the dataset
.Random.seed
if it does not already
exist, otherwise its value is updated.
DETAILS:
The matrix decomposition is done via
eigen
; although a Choleski decomposition
might be faster, the eigendecomposition is stabler.
REFERENCE:
B. D. Ripley (1987)
Stochastic Simulation.
Wiley. Page 98.
SEE ALSO:
,
.
EXAMPLES:
Sigma <- matrix(c(10,3,3,2), 2, 2)
Sigma
var(mvrnorm(n = 1000, rep(0, 2), Sigma))