R语言
nnzero-methods
位于 Matrix
包(package)。 说明
返回 numeric-like 的非零值的数量R对象,特别是对象x
从类继承Matrix
.
用法
nnzero(x, na.counted = NA)
参数
x |
|
na.counted |
对于稀疏矩阵,您可能经常想要使用 |
值
x
中非零条目的数量(通常为 integer
)。
请注意,对于对称稀疏矩阵 S
(即从类 symmetricMatrix
继承), nnzero(S)
通常是 length(S@x)
的两倍。
方法
signature(x = "ANY")
-
非
Matrix
类对象的默认方法,只是计算x
中0
的数量,根据na.counted
参数计算NA
的数量,请参见上文。 signature(x = "denseMatrix")
-
从概念上讲,与传统的
matrix
对象相同,但必须注意"symmetricMatrix"
对象。 signature(x = "diagonalMatrix")
和signature(x = "indMatrix")
-
这些特殊的
"sparseMatrix"
类的快速简单方法。 signature(x = "sparseMatrix")
-
通常,这是最有趣的方法,也仔细考虑
"symmetricMatrix"
对象。
例子
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, "TsparseMatrix"))
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, package = "Matrix")
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)
也可以看看
Matrix
类还有一个 length
方法;通常,对于稀疏矩阵 M,length(M)
远大于 nnzero(M)
,并且后者更好地指示了 M
的大小。
相关用法
- R nearPD 最近正定矩阵
- R norm-methods 矩阵范数
- R ngeMatrix-class 一般密集非零模式矩阵的“ngeMatrix”类
- R ntrMatrix-class 三角密集逻辑矩阵
- R nsparseMatrix-classes 稀疏“模式”矩阵
- R number-class 可能复数的“数”类
- R nsyMatrix-class 对称密集非零模式矩阵
- R ndenseMatrix-class 密集逻辑矩阵的虚拟类“ndenseMatrix”
- R nMatrix-class 非零模式矩阵的“nMatrix”类
- R dtrMatrix-class 三角形稠密数值矩阵
- R facmul-methods 乘以矩阵因式分解的因数
- R solve-methods 函数求解矩阵包中的方法
- R updown-methods 更新和降级稀疏 Cholesky 分解
- R bdiag 构建分块对角矩阵
- R printSpMatrix 灵活格式化和打印稀疏矩阵
- R symmetricMatrix-class 包矩阵中对称矩阵的虚拟类
- R all.equal-methods 函数 all.equal() 的矩阵封装方法
- R boolmatmult-methods 布尔算术矩阵乘积:%&% 和方法
- R ltrMatrix-class 三角密集逻辑矩阵
- R Hilbert 生成希尔伯特矩阵
- R lsyMatrix-class 对称密集逻辑矩阵
- R CHMfactor-class 稀疏 Cholesky 分解
- R symmpart-methods 矩阵的对称部分和偏斜(对称)部分
- R sparseMatrix 从非零项构建一般稀疏矩阵
- R dgCMatrix-class 压缩、稀疏、面向列的数值矩阵
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 The Number of Non-Zero Values of a Matrix。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。