我试图在ff中创建一个巨大的矩阵,我知道ff对于这种事情是有益的。
但是,有一个重大问题。矩阵的尺寸超过.Machine $ max_integer!我在64位机器上运行,使用64位R和64位ff。
有没有办法解决这个问题?
有人建议R使用stdint.h中的MAXINT值。有没有办法解决这个问题,而无需更改该文件并可能破坏构建?
> ffMatrix <- ff(vmode="boolean", dim=c(300000,300000))
Error in if (length < 0 || length > .Machine$integer.max) stop("length must be between 1 and .Machine$integer.max") :
missing value where TRUE/FALSE needed
In addition: Warning message:
In ff(vmode = "boolean", dim = c(300000, 300000)) :
NAs introduced by coercion
> 300000**2 > .Machine$integer.max
[1] TRUE
答案 0 :(得分:1)
那仍然是一个非常大的矩阵,你需要一台并行计算机:-)。 300000x300000&gt; 2 ^ 32(int很可能是32位,即使在64位机器上也是如此)。
另见link