nnzero {Matrix}  R Documentation 
Returns the number of nonzero values of a numericlike R object, and
in particular an object x
inheriting from class
Matrix
.
nnzero(x, na.counted = NA)
x 
an R object, typically inheriting from class

na.counted 
a
For sparse matrices, you may often want to use 
the number of non zero entries in x
(typically
integer
).
Note that for a symmetric sparse matrix S
(i.e., inheriting from
class symmetricMatrix
), nnzero(S)
is
typically twice the length(S@x)
.
signature(x = "ANY")
the default method for
nonMatrix
class objects, simply counts the
number 0
s in x
, counting NA
's depending on
the na.counted
argument, see above.
signature(x = "denseMatrix")
conceptually the same as
for traditional matrix
objects, care has to be taken
for "symmetricMatrix"
objects.
signature(x = "diagonalMatrix")
, and
signature(x = "indMatrix")
fast simple methods for these
special "sparseMatrix"
classes.
signature(x = "sparseMatrix")
typically, the most
interesting method, also carefully taking
"symmetricMatrix"
objects into account.
The Matrix
class also has a
length
method; typically, length(M)
is much
larger than nnzero(M)
for a sparse matrix M, and the latter is
a better indication of the size of M
.
m < Matrix(0+1:28, nrow = 4) m[3,c(2,4:5,7)] < m[ 3, 1:4] < m[1:3, 6] < 0 (mT < as(m, "dgTMatrix")) nnzero(mT) (S < crossprod(mT)) nnzero(S) str(S) # slots are smaller than nnzero() stopifnot(nnzero(S) == sum(as.matrix(S) != 0))# failed earlier data(KNex) M < KNex$mm class(M) dim(M) length(M); stopifnot(length(M) == prod(dim(M))) nnzero(M) # more relevant than length ## the above are also visible from str(M)