我在R中有一个关联矩阵,用于> 25000个变量。问题是,由于需要大量的内存,我无法用它做任何事情。我不明白为什么我甚至不能像修改单个条目那样非常原始的东西。 E.g。
> cors = cor(my.data)
> class(cors)
[1] "matrix"
> dim(cors)
[1] 26267 26267
> cors[1,1] = 1
Error: cannot allocate vector of size 5.1 Gb
为什么R需要那么多内存来改变一个值......?当我尝试像diag(cors)
或upper.tri(cors)
这样的东西时,我会遇到同样的错误......我知道稀疏矩阵可能会提供解决方案,但是当我尝试转换它时,我会得到同样的错误...... / p>
> m = Matrix(cors, sparse=T)
Error: cannot allocate vector of size 5.1 Gb
即使我只想修改单个值,为什么这么难?