我使用以下代码模拟100个预测变量(特征)的20个观测值。我想运行模拟200次。不知何故,添加第二个'是不正确的。循环以创建矩阵列表。 您对如何从多元正态分布中有效模拟多个矩阵有任何建议吗?
x <- matrix(rep(NA, 20*100), 20, 100)
for (i in 1:20) {
x[i, ] <- mvrnorm(n = 1, mu = rep(0, 100), Sigma = diag(100))
}
谢谢!
答案 0 :(得分:1)
如果您确实不需要关联,只需使用
即可x = array( rnorm(200*20*100), dim=c(200,20,100) )
您的代码可以缩写为
library(mvtnorm)
x <- rmvnorm( n=20, mean=rep(0,100), sigma=diag(100) )
现在为了拥有200个这样的矩阵,我建议外围的&#39; for&#39;循环:
x <- array( dim=c(200,20,100) )
for (i in 1:200) {
x[i,,] <- rmvnorm( n=20, mean=rep(0,100), sigma=diag(100) )
}
答案 1 :(得分:0)
lapply(1:200,function(x) rmvnorm( n=20, mean=rep(0,100), sigma=diag(100) ))
将为您提供此类矩阵的列表。