【发布时间】:2015-11-10 20:15:19
【问题描述】:
所以,我是 R 编程新手,所以我什至不知道这是否可行。我有 50 个矩阵(50,000 行 x 10 列)我正在尝试填充蒙特卡洛模拟。我在一个循环中创建了所有矩阵,它们被称为mCMatrix1、mCMatrix2 等。
我想在循环中填充矩阵,效果如下:
for (i in 50){
for (j in 50000){
num <- mu + tR %*% rnorm(10) # returns a 10 row, 1 column matrix
mCMatrixC"i"[]= num[,1] # basically rotates the matrix to fill in the first row
}
}
我可以通过某种方式对程序进行编码,以知道它需要填充mCMatrix1,然后是mCMatrix2,一直到第50 个矩阵。对于 STATA 用户,我记得您可以使用 with v = forval(range of values), mCMatrix`v' 遍历变量。 (我使用 STATA 已经有一段时间了,所以语法可能不正确,但大意是这样的。
【问题讨论】:
-
你是如何使用 j 的?最好将它们保存在一个列表中,而不是在您的工作区中有 50 多个对象,例如
mlist <- replicate(50, list(matrix(rnorm(50000 * 10), ncol = 10)))其中replicate是一个循环,创建一个包含您想要的任何值的 50000 x 10 矩阵并返回长度为 50
标签: r loops variables for-loop matrix