Вам не нужно for.loops, чтобы достичь этого.Вы можете сделать это, используя lapply
.Таким образом, вы создаете список, содержащий матрицы:
set.seed(1)
lapply(1:3, function(z) matrix(runif(4, min = -10, max = 10), nrow = 2, ncol = 2))
[[1]]
[,1] [,2]
[1,] -4.689827 1.457067
[2,] -2.557522 8.164156
[[2]]
[,1] [,2]
[1,] -5.966361 8.893505
[2,] 7.967794 3.215956
[[3]]
[,1] [,2]
[1,] 2.582281 -5.880509
[2,] -8.764275 -6.468865
Чтобы создать 1000 матриц, используйте 1:1000
вместо 1:3
.
Если вы настаиваете на использовании цикла, вы можетеиспользуйте решение Маркуса из комментариев:
k <- 1000
out <- vector("list", length = k)
set.seed(1)
for (i in 1:k) {
out[[i]] <- matrix(runif(4, min = -10, max = 10), nrow = 2, ncol = 2)
}
out