2013-05-08 126 views
4

我试图创建一个大的稀疏矩阵,10^5在R中是10^5,但我遇到了内存问题。在R中创建一个非常大的稀疏矩阵

> Matrix(nrow=1e5,ncol=1e5,sparse=TRUE) 
Error in Matrix(nrow = 1e+05, ncol = 1e+05, sparse = TRUE) : 
    too many elements specified 

看起来像这是因为元素的数量大于2^31,这是最大的整数值。但是我在64位机器上运行它。

> .Machine$integer.max 
[1] 2147483647 

有什么办法来创造这么大,稀疏矩阵?

回答

4

看起来窍门是设置data=0而不是data=NA

> Matrix(data=0,nrow=1e5,ncol=1e5,sparse=TRUE)