【发布时间】:2016-09-17 23:42:07
【问题描述】:
我正在编写一个包含三个循环的 R 代码来生成大量矩阵,我希望存储所有这些矩阵。任务是对于每 200 个大矩阵,我每次从左到右和从上到下取一个 10 x 10 的子矩阵。所有这些 (200*790*790) 大小 (10*10) 的矩阵都是我想要的。以下是我已经做过的:
# Define an empty list to store all submatrices
sub.matrix = list()
# for loop to generate and store all submatrices
for(i in 1:200){
for(j in 1:790){
for(k in 1:790){
sub.matrix[[i]][[j]][[k]] = main.matrix[[i]][j:(j+10), k:(k+10)] # QUESTION STARTS AT THE BEGINNING OF THIS LINE.
}
}
}
所以主要问题是如何有效地索引 sub.matrix。我虽然应该如上“[[i]][[j]][[k]]”,但是电脑告诉我错误
*tmp*[[j]] 中的错误:下标越界。
我该如何解决这个问题,或者有没有其他方法可以“多”索引此类列表中的矩阵?
提前致谢。
【问题讨论】:
-
main.matrix是在哪里定义的? -
@Hack-R 它们是从我的笔记本电脑读取的多个矩阵。
-
对,我只是说在 StackOverflow 的 R 标签上,我们需要一个 reproducible 示例...