2017-02-17 153 views
1

在R中,有没有办法判断矩阵是否稀疏?有许多稀疏矩阵类,例如dgCMatrix,并且没有is.sparseMatrix方法。测试矩阵是否是稀疏矩阵

+3

挖出“Intro2Matrix”小插图:'is(sM,'sparseMatrix')',其中'sM'是一个稀疏矩阵。 – alistaire

+0

令人惊叹的,我希望它有一个相应的is.sparseMatrix调用! – JCWong

+3

@JCWong - 'is.sparseMatrix < - 函数(x)是(x,'sparseMatrix')'离开你去;-) – thelatemail

回答

-1

您可以使用“垃圾邮件”包:as.spam(..)使得类垃圾邮件的目标你的矩阵,然后应用summary(..),巫婆向你基质或display(..)的密度,对于非零项的图形表示

testMatrix <-as.spam(matrix(c(123, 2, 0, 0, 0, 2, 23, 0, 0), nrow = 3)) 
summary(testMatrix) 
display(testMatrix) 
-1

aa是稀疏矩阵

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

' 如果aa是稀疏矩阵,转换成aa非稀疏矩阵