有没有一种方法来生成与R中正态分布随机值的数据集而不使用循环? 每个条目将代表具有正态分布的独立随机变量。
Answer 1:
要创建N
通过M
独立同分布的正态随机变量的矩阵输入:
matrix( rnorm(N*M,mean=0,sd=1), N, M)
根据需要调整的平均值和标准偏差。
Answer 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)
会产生一个矩阵列持相关样本
Answer 3:
您可以使用:
replicate(NumbOfColumns,rnorm(NumbOfLines))
可以更换rnorm
与其它分布函数,例如runif
,以产生具有其它分布矩阵。
Answer 4:
注意:每个条目是独立的。 所以你不能避免使用for循环,因为你必须调用一次RNORM每个自变量。 如果你只需要调用RNORM(N * M)这是从同一个随机变量n * m个样本!
文章来源: Generate matrix with iid normal random variables using R