sparseMatrix-class
位於 Matrix
包(package)。 說明
所有稀疏矩陣的虛擬母類
插槽
Dim
:-
"integer"
類的對象(矩陣的維度)必須是具有兩個非負值的整數向量。 Dimnames
:-
長度為 2 的列表 - 從類
Matrix
繼承,請參閱Matrix
。
擴展
直接類 "Matrix"
。
方法
- 展示
-
(object = "sparseMatrix")
:稀疏矩陣的show
方法使用printSpMatrix()
將“structural”零打印為"."
,這允許進一步定製。 - 打印
-
signature(x = "sparseMatrix")
, ....
print
默認情況下稀疏矩陣的方法與show()
但可以使用額外的可選參數進行調用,請參閱printSpMatrix()
. - 格式
-
signature(x = "sparseMatrix")
, ....
format
稀疏矩陣的方法,參見formatSpMatrix()
有關額外可選參數等詳細信息。 - 概括
-
(object = "sparseMatrix", uniqT=FALSE)
:返回 S3 類"sparseSummary"
的對象,它本質上是一個data.frame
,其中包含(i,j,x)
列(或者隻是(i,j)
對於nsparseMatrix
類對象)以及存儲的(通常非零)條目。print
方法類似於 Matlab 打印稀疏矩陣的方式,以及 MatrixMarket 格式,請參閱writeMM
。 - 綁定2
-
(x = *, y = *)
:將矩陣按列綁定在一起的幾種方法,請參閱基礎cbind
和rbind
職能。
請注意,即使一個參數密集且大於稀疏參數,結果通常也是稀疏的。 - 綁定2
-
(x = *, y = *)
:將矩陣按行綁定在一起,請參見上麵的cbind2
。 - 行列式
-
(x = "sparseMatrix", logarithm=TRUE)
:稀疏矩陣的determinant()
方法通常通過Cholesky
或lu
分解進行工作。 - 診斷
-
(x = "sparseMatrix")
:提取稀疏矩陣的對角線。 - 暗淡<-
-
signature(x = "sparseMatrix", value = "ANY")
:允許將稀疏矩陣重塑為具有相同條目但維度不同的稀疏矩陣。value
的長度必須為 2 並滿足prod(value) == prod(dim(x))
。 - 強製
-
signature(from = "factor", to = "sparseMatrix")
:將因子強製轉換為"sparseMatrix"
會生成存儲為類"dgCMatrix"
對象的指標行矩陣。要獲得表示因子和數字協變量交互作用的列,請將結果的"x"
槽替換為數字協變量,然後進行轉置。因子中的缺失值 (NA
) 將轉換為所有0
的列。
另請參閱 colSums
、 norm
等,了解具有單獨幫助頁麵的方法。
注意
在乘法運算的方法選擇中(即 %*%
和 crossprod
的雙參數形式),sparseMatrix 類優先,因為如果一個操作數是稀疏矩陣,另一個操作數是任何類型的稠密矩陣,則稠密矩陣類優先矩陣被強製為 dgeMatrix
並使用適當的稀疏矩陣方法。
例子
showClass("sparseMatrix") ## and look at the help() of its subclasses
M <- Matrix(0, 10000, 100)
M[1,1] <- M[2,3] <- 3.14
M ## show(.) method suppresses printing of the majority of rows
data(CAex, package = "Matrix")
dim(CAex) # 72 x 72 matrix
determinant(CAex) # works via sparse lu(.)
## factor -> t( <sparse design matrix> ) :
(fact <- gl(5, 3, 30, labels = LETTERS[1:5]))
(Xt <- as(fact, "sparseMatrix")) # indicator rows
## missing values --> all-0 columns:
f.mis <- fact
i.mis <- c(3:5, 17)
is.na(f.mis) <- i.mis
Xt != (X. <- as(f.mis, "sparseMatrix")) # differ only in columns 3:5,17
stopifnot(all(X.[,i.mis] == 0), all(Xt[,-i.mis] == X.[,-i.mis]))
也可以看看
sparseMatrix
及其參考,例如 xtabs(*, sparse=TRUE)
或 sparse.model.matrix()
,用於構造稀疏矩陣。
T2graph
用於將 "graph"
對象(包 graph
)與稀疏矩陣相互轉換。
相關用法
- R sparseMatrix 從非零項構建一般稀疏矩陣
- R sparseQR-class 稀疏 QR 分解
- R sparse.model.matrix 構造稀疏設計/模型矩陣
- R sparseVector-class 稀疏向量類
- R sparseLU-class 稀疏 LU 分解
- R sparseVector 從非零條目構造稀疏向量
- R spMatrix 三元組的稀疏矩陣構造函數
- R solve-methods 函數求解矩陣包中的方法
- R symmetricMatrix-class 包矩陣中對稱矩陣的虛擬類
- R symmpart-methods 矩陣的對稱部分和偏斜(對稱)部分
- R dtrMatrix-class 三角形稠密數值矩陣
- R facmul-methods 乘以矩陣因式分解的因數
- R updown-methods 更新和降級稀疏 Cholesky 分解
- R bdiag 構建分塊對角矩陣
- R printSpMatrix 靈活格式化和打印稀疏矩陣
- R all.equal-methods 函數 all.equal() 的矩陣封裝方法
- R boolmatmult-methods 布爾算術矩陣乘積:%&% 和方法
- R ltrMatrix-class 三角密集邏輯矩陣
- R Hilbert 生成希爾伯特矩陣
- R nearPD 最近正定矩陣
- R lsyMatrix-class 對稱密集邏輯矩陣
- R CHMfactor-class 稀疏 Cholesky 分解
- R dgCMatrix-class 壓縮、稀疏、麵向列的數值矩陣
- R Cholesky-methods Cholesky 分解方法
- R Subassign-methods “[<-”的方法 - 分配給“矩陣”的子集
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Virtual Class "sparseMatrix" — Mother of Sparse Matrices。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。