测试矩阵是否为稀疏矩阵。

5

在R中,有没有一种方法可以判断矩阵是否为稀疏矩阵?有许多稀疏矩阵类,例如dgCMatrix,但没有is.sparseMatrix方法。


6
从“Intro2Matrix”小片段中得出:is(sM, 'sparseMatrix'),其中sM是稀疏矩阵。 - alistaire
太棒了,我希望它有一个相应的is.sparseMatrix调用! - JCWong
4
"is.sparseMatrix <- function(x) is(x, 'sparseMatrix')" 这行代码的意思是定义一个函数,可以判断输入的矩阵是否为稀疏矩阵。使用方法很简单,只需输入该函数和需要判断的矩阵即可。 - thelatemail
2个回答

0
你可以使用“spam”包:`as.spam(..)`函数可以将你的矩阵转换为spam类对象,然后再应用`summary(..)`函数获取矩阵的密度,或者使用`display(..)`函数将非零元素以图形表示出来。
testMatrix <-as.spam(matrix(c(123, 2, 0, 0, 0, 2, 23, 0, 0), nrow = 3))
summary(testMatrix)
display(testMatrix) 

-2

aa 是稀疏矩阵

if(length(which(is(aa)=="sparseMatrix"))!=0){
aa=Matrix(aa,sparse=0)
    }

如果aa是稀疏矩阵,则将aa转换为非稀疏矩阵


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接