大稀疏矩阵到三角矩阵R

大稀疏矩阵到三角矩阵R,r,matrix,sparse-matrix,bigdata,triangular,R,Matrix,Sparse Matrix,Bigdata,Triangular,我在R中有一个非常大的约9100万个非零项sparseMatrix,看起来像: > myMatrix a b c a . 1 2 b 1 . . c 2 . . 我想将其转换为三角形矩阵upper或lower,但当我尝试myMatrix=myMatrix*lower.trimyMatrix时,会出现一个错误,即lower.tri的“问题太大”。想知道是否有人知道解决方案。谢谢你的帮助 与其处理矩阵本身,不如处理其摘要: 与其研究矩阵本身,不如研究其摘要: 当你有一个大的稀疏矩阵

我在R中有一个非常大的约9100万个非零项sparseMatrix,看起来像:

> myMatrix 
  a b c  
a . 1 2
b 1 . .
c 2 . .

我想将其转换为三角形矩阵upper或lower,但当我尝试myMatrix=myMatrix*lower.trimyMatrix时,会出现一个错误,即lower.tri的“问题太大”。想知道是否有人知道解决方案。谢谢你的帮助

与其处理矩阵本身,不如处理其摘要:


与其研究矩阵本身,不如研究其摘要:


当你有一个大的稀疏矩阵时,这个会快一点:

ind <- which(myMatrix@i > myMatrix@j)
myMatrix_lower <- sparseMatrix(i = myMatrix@i[ind], 
                               j = myMatrix@j[ind],
                               x = myMatrix@x[ind] ,
                               dims = dim(myMatrix),
                               giveCsparse = F, index1 = FALSE)

当你有一个大的稀疏矩阵时,这个会快一点:

ind <- which(myMatrix@i > myMatrix@j)
myMatrix_lower <- sparseMatrix(i = myMatrix@i[ind], 
                               j = myMatrix@j[ind],
                               x = myMatrix@x[ind] ,
                               dims = dim(myMatrix),
                               giveCsparse = F, index1 = FALSE)