Pradeep
Pradeep

Reputation: 565

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?

Upvotes: 4

Views: 7208

Answers (2)

Richie Cotton
Richie Cotton

Reputation: 121057

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.

Upvotes: 8

Nick Sabbe
Nick Sabbe

Reputation: 11956

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

Upvotes: 4

Related Questions