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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。