我正在处理一个巨大的数据集,并且我想推导出一个检验统计量的分布。因此,我需要使用巨大的矩阵(200000x200000)进行计算,正如你所预测的那样,我遇到了内存问题。更具体地说,我遇到了以下错误:无法分配大小为...Gb的向量。我使用的是64位版本的R,我的RAM为8Gb。我尝试使用bigmemory包,但效果不太好。
第一个问题出现在我必须计算距离矩阵时。我发现amap包中有一个很好的函数叫做Dist,可以并行计算数据框的列之间的距离,并且它运行良好,但是它只产生下三角/上三角矩阵。我需要距离矩阵进行矩阵乘法,但是半个矩阵是没法用的。当我使用as.matrix函数将其转化为完整矩阵时,我又遇到了内存问题。
因此,我的问题是如何通过跳过as.matrix步骤将dist对象转换为big.matrix。我想这可能是一个Rccp问题,请记住我对Rccp还很陌生。
提前感谢!
第一个问题出现在我必须计算距离矩阵时。我发现amap包中有一个很好的函数叫做Dist,可以并行计算数据框的列之间的距离,并且它运行良好,但是它只产生下三角/上三角矩阵。我需要距离矩阵进行矩阵乘法,但是半个矩阵是没法用的。当我使用as.matrix函数将其转化为完整矩阵时,我又遇到了内存问题。
因此,我的问题是如何通过跳过as.matrix步骤将dist对象转换为big.matrix。我想这可能是一个Rccp问题,请记住我对Rccp还很陌生。
提前感谢!
big.matrix
距离问题,链接,可能会有所帮助。 - cdeterman