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