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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。