我试图在R中创建一个10 ^ 5×10 ^ 5的大型稀疏矩阵,但是遇到了内存问题.
> Matrix(nrow=1e5,ncol=1e5,sparse=TRUE)
Error in Matrix(nrow = 1e+05, ncol = 1e+05, sparse = TRUE) :
too many elements specified
Run Code Online (Sandbox Code Playgroud)
看起来这是因为元素的数量大于2 ^ 31,这是最大整数值.但我在64位机器上运行它.
> .Machine$integer.max
[1] 2147483647
Run Code Online (Sandbox Code Playgroud)
有没有办法创建如此庞大的稀疏矩阵?
看起来诀窍是设置data=0而不是data=NA.
> Matrix(data=0,nrow=1e5,ncol=1e5,sparse=TRUE)
Run Code Online (Sandbox Code Playgroud)