web-dev-qa-db-fra.com

Générer une matrice avec des variables aléatoires normales iid en utilisant R

Existe-t-il un moyen de générer un ensemble de données avec des valeurs aléatoires normalement distribuées dans R sans utiliser de boucle? Chaque entrée représenterait une variable aléatoire indépendante avec une distribution normale.

19
Crawling Antz

Pour créer une matrice N par M de variables aléatoires normales iid, tapez ceci:

matrix( rnorm(N*M,mean=0,sd=1), N, M) 

Ajustez la moyenne et l'écart-type comme vous le souhaitez.

27
Macro

soit mu un vecteur de moyennes et sigma un vecteur de devs standard

mu<-1:10
sigma<-10:1
sample.size<-100
norm.mat<-mapply(function(x,y){rnorm(x,y,n=sample.size)},x=mu,y=sigma)

produirait une matrice avec des colonnes contenant les échantillons pertinents

2

Vous pouvez utiliser:

replicate(NumbOfColumns,rnorm(NumbOfLines))

Vous pouvez remplacer rnorm par une autre fonction de distribution, par exemple runif, pour générer des matrices avec d'autres distributions.

1