反转R中的big.matrix对象

时间:2015-09-21 11:28:05

标签: r bigdata r-bigmemory

我有一个39,547 x 39,547方差矩阵V,存储为big.matrix对象,因为存储这个矩阵大小所需的内存超出了我的机器的能力。

w <- as.big.matrix(test[,1:3]) # 39,547x3 matrix
V <- w %*% big.t(w)

然后我需要计算z^T %*% V^(-1) %*% z,其中z是长度为39,547的向量,因此我需要执行

1)chol(V),然后是backsolve和crossprod,或 2)求解(V)(理想情况下不是)

但是,这些函数不适用于big.matrix对象,而在bigalgebra包中,似乎只有将这些对象相乘的方法。

我还试图通过big.PCA执行此计算:

big.PCA(V)
[1] 39547 39547

Error: cannot allocate vector of size 11.7 Gb

有没有人有使用大型big.matrix对象执行这些计算的经验?

0 个答案:

没有答案