Matrix-class
位於 Matrix
包(package)。 說明
Matrix
類是Matrix
包中所有實際類所包含的類。這是一個“virtual” 類。
插槽
Dim
-
長度為 2 的整數向量,給出矩陣的維度。
Dimnames
-
長度為 2 的列表。每個元素必須是
NULL
或長度等於Dim
的相應元素的字符向量。
方法
- 行列式
-
signature(x = "Matrix", logarithm = "missing")
:和 - 行列式
-
signature(x = "Matrix", logarithm = "logical")
:計算x
的 ( ) 行列式。選擇的方法取決於x
的實際 Matrix 類。請注意,det
也適用於我們的所有矩陣,調用適當的determinant()
方法。Matrix::det
是base::det
的精確副本,但位於正確的命名空間中,因此調用determinant()
的 S4 感知版本。)。 - 差異
-
signature(x = "Matrix")
:與傳統矩陣的diff()
一樣,即將diff()
應用於每一列。 - dim
-
signature(x = "Matrix")
:提取矩陣維度dim
。 - 暗淡<-
-
signature(x = "Matrix", value = "ANY")
:其中value
是長度為 2 的整數。允許重塑 Matrix 對象,但僅限於prod(value) == prod(dim(x))
時。 - 暗名
-
signature(x = "Matrix")
:提取dimnames
。 - 暗名<-
-
signature(x = "Matrix", value = "list")
:將dimnames
設置為長度為2的list
,參見dimnames<-
。 - 長度
-
signature(x = "Matrix")
:簡單地定義為prod(dim(x))
(因此模式為"double"
)。 - 展示
-
signature(object = "Matrix")
:print
ing 的show
方法。有關打印稀疏矩陣的信息,請參閱printSpMatrix
。 - 圖片
-
signature(object = "Matrix")
:使用lattice
包中的levelplot()
繪製矩陣條目的image
。 - 頭
-
signature(object = "Matrix")
:僅返回“head”,即前幾行。 - 尾巴
-
signature(object = "Matrix")
:僅返回“tail”,即相應矩陣的最後幾行。
- as.matrix,as.array
-
signature(x = "Matrix")
:與as(x, "matrix")
相同;另請參閱下麵的注釋。 - as.vector
-
signature(x = "Matrix", mode = "missing")
:as.vector(m)
應該與as.vector(as(m, "matrix"))
相同,對於某些子類實現更有效。 - 作為(x,"vector"),作為(x,"numeric")
-
等等,類似地。
- 強製
-
signature(from = "ANY", to = "Matrix")
:這依賴於from
的正確as.matrix()
方法。
還有更多方法(概念上應該)適用於所有 "Matrix"
對象,例如 colSums
、 rowMeans
。即使 base
函數也可以自動工作(如果它們首先在其主要參數上調用 as.matrix()
),例如 apply
、 eigen
、 svd
或 kappa
都通過強製到 “traditional” 來工作(密集)matrix
。
注意
在 base
命名空間中加載 Matrix
命名空間 “overloads” as.matrix
和 as.array
相當於 function(x) as(x, "matrix")
。因此,當 m
繼承自 "Matrix"
類時,as.matrix(m)
或 as.array(m)
將正常工作 — 也適用於包 base
和其他包中的函數。例如,apply
或 outer
因此可以應用於 "Matrix"
矩陣。
例子
slotNames("Matrix")
cl <- getClass("Matrix")
names(cl@subclasses) # more than 40 ..
showClass("Matrix")#> output with slots and all subclasses
(M <- Matrix(c(0,1,0,0), 6, 4))
dim(M)
diag(M)
cm <- M[1:4,] + 10*Diagonal(4)
diff(M)
## can reshape it even :
dim(M) <- c(2, 12)
M
stopifnot(identical(M, Matrix(c(0,1,0,0), 2,12)),
all.equal(det(cm),
determinant(as(cm,"matrix"), log=FALSE)$modulus,
check.attributes=FALSE))
作者
Douglas Bates bates@stat.wisc.edu and Martin Maechler
也可以看看
類 dgeMatrix
、 dgCMatrix
和函數 Matrix
用於構造(和示例)。
方法,例如 kronecker
。
相關用法
- R Matrix-notyet 虛擬課堂尚未真正實施和使用
- R Matrix-deprecated 包矩陣中已棄用的函數
- R Matrix-defunct 包矩陣中的失效函數
- R MatrixClass 類的矩陣(超級)類
- R Matrix 構建分類矩陣
- R MatrixFactorization-class 矩陣分解的虛擬類“MatrixFactorization”
- 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 nearPD 最近正定矩陣
- R lsyMatrix-class 對稱密集邏輯矩陣
- R CHMfactor-class 稀疏 Cholesky 分解
- R symmpart-methods 矩陣的對稱部分和偏斜(對稱)部分
- R sparseMatrix 從非零項構建一般稀疏矩陣
- R dgCMatrix-class 壓縮、稀疏、麵向列的數值矩陣
- R Cholesky-methods Cholesky 分解方法
- R Subassign-methods “[<-”的方法 - 分配給“矩陣”的子集
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Virtual Class "Matrix" of Matrices。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。