R error allocMatrix

Fed*_*rgi 3 r bioconductor

大家好,

我试图加载一定数量的Affymetrix CEL文件,使用标准的BioConductor命令(64位linux上的R 2.8.1,72 GB的RAM)

abatch<-ReadAffy()
Run Code Online (Sandbox Code Playgroud)

但我不断收到这条消息:

Error in read.affybatch(filenames = l$filenames, phenoData = l$phenoData,  : 
  allocMatrix: too many elements specified
Run Code Online (Sandbox Code Playgroud)

这个allocMatrix错误的一般含义是什么?有没有办法增加其最大尺寸?

谢谢

Ton*_*nio 5

问题是所有核心函数都使用INT而不是LONG来生成R对象.例如,您的错误消息来自/ src/main中的array.c

if ((double)nr * (double)nc > INT_MAX)
    error(_("too many elements specified"));
Run Code Online (Sandbox Code Playgroud)

其中nr和nc是之前生成的整数,代表矩阵的行数和列数:

nr = asInteger(snr);
nc = asInteger(snc);
Run Code Online (Sandbox Code Playgroud)

因此,为了缩短它,源代码中的所有内容都应该更改为LONG,可能不仅在array.c中,而且在大多数核心函数中,这需要一些重写.很抱歉没有更多的帮助,但我想这是唯一的解决方案.或者,你可能会在明年等待R 3.x,并希望他们能够实现这个......