使用R生成具有iid正态随机变量的矩阵

时间:2012-07-24 22:33:56

标签: r random normal-distribution

有没有办法在不使用循环的情况下在R中生成具有正态分布随机值的数据集?每个条目都代表一个具有正态分布的独立随机变量。

4 个答案:

答案 0 :(得分:24)

要创建NM iid正常随机变量矩阵,请输入以下内容:

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

根据需要调整平均值和标准偏差。

答案 1 :(得分:2)

mu成为手段的向量,sigma是标准开发的向量

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)

将生成一个矩阵,其中包含保存相关样本的列

答案 2 :(得分:1)

您可以使用:

replicate(NumbOfColumns,rnorm(NumbOfLines))

您可以将rnorm替换为其他分配函数,例如runif,以生成包含其他分布的矩阵。

答案 3 :(得分:-2)

注意:每个条目都是独立的。所以你不能避免使用for循环,因为你必须为每个自变量调用一次rnorm。如果你只是调用rnorm(n * m)来自同一随机变量的n * m个样本!