简体   繁体   中英

How do you generate multivariate Gaussian random numbers in R?

How do we generate data points following a Gaussian (normal) distribution in R?

Suppose I want to generate points in 2d (or higher dimensional) space that follow a Gaussian distribution. How do I do this using R?

Gaussian distributions are for one dimensional random variables. You can generate them using rnorm .

rnorm(100, mean = 3, sd = 2)

For the higher dimensional case you want a multivariate normal distribution instead. Try mvrnorm in the MASS package, or rmvnorm in the mvtnorm package.

library(mvtnorm)
rmvnorm(100, mean = c(3, 5), sigma = matrix(c(1, 0.5, 0.5, 2), nrow = 2))

Further reading: ?Distributions and the CRAN Task View on distributions .

One dimensional: ?rnorm . More dimensions: install and load package mvtnorm and use rmvnorm() .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM