R:修改巨大的矩阵

时间:2015-01-16 09:54:14

标签: r memory matrix

我在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

即使我只想修改单个值,为什么这么难?

0 个答案:

没有答案