簡體   English   中英

如何從多元正態分布模擬R中的200個矩陣(20 * 100)?

[英]How can I simulate 200 matrices (20*100) in R from a multivariate normal distribution?

我正在使用以下代碼模擬100個預測變量(功能)的20個觀察值。 我想運行200次模擬。 不知何故添加第二個“ for”循環來創建矩陣列表是不合適的。 您是否對如何從多元正態分布中有效地模擬幾個矩陣有任何建議?

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)) 
}

謝謝!

如果您真的不需要關聯,只需使用

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個這樣的矩陣,我建議使用外部“ for”循環:

x <- array( dim=c(200,20,100) )
for (i in 1:200) {
  x[i,,] <- rmvnorm( n=20, mean=rep(0,100), sigma=diag(100) )
}
lapply(1:200,function(x) rmvnorm( n=20, mean=rep(0,100), sigma=diag(100) ))

將為您提供此類矩陣的列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM