Random number generation from the multivariate normal (Gaussian) distribution.
the number of samples requested
a vector giving the means of each variable
a positive-definite covariance matrix
rmnorm is an interface to C routines, which make calls to
subroutines from LAPACK. The matrix decomposition is internally done using
the Cholesky decomposition. If
Sigma is not non-negative definite then
there will be a warning message.
n = 1 a vector of the same length as
mean, otherwise a
n rows of random vectors.
Devroye, L. (1986). Non-Uniform Random Variate Generation. Springer-Verlag, New York.
1 2 3 4 5 6 7 8 9 10 11 12 13
# covariance parameters Sigma <- matrix(c(10,3,3,2), ncol = 2) Sigma # generate the sample y <- rmnorm(n = 1000, Sigma = Sigma) var(y) # scatterplot of a random bivariate normal sample with mean # vector zero and covariance matrix 'Sigma' par(pty = "s") plot(y, xlab = "", ylab = "") title("bivariate normal sample", font.main = 1)