dgTMatrix-class
位于 Matrix
包(package)。 说明
"dgTMatrix"
类是存储为(可能冗余)三元组的稀疏矩阵类。内部表示根本不是唯一的,与类 dgCMatrix
的表示相反。
类中的对象
可以通过 new("dgTMatrix", ...)
形式的调用来创建对象,但更常见的是通过 spMatrix()
或 sparseMatrix(*, repr = "T")
来创建。
插槽
i
:-
integer
以 0 为基数的非零条目的行索引,即必须位于0:(nrow(.)-1)
中。 j
:-
integer
非零条目的列索引。必须与槽i
的长度相同,并且也从 0 开始,即在0:(ncol(.)-1)
中。 x
:-
numeric
向量 - 位置(i,j)
处的(非零)条目。必须与插槽i
的长度相同。如果索引对出现多次,则将槽x
的相应值相加以形成矩阵的元素。 Dim
:-
"integer"
类的对象,长度为 2 - 矩阵的维度。
方法
- +
-
signature(e1 = "dgTMatrix", e2 = "dgTMatrix")
- 图片
-
signature(x = "dgTMatrix")
:使用levelplot
函数绘制x
的图像 - t
-
signature(x = "dgTMatrix")
:返回x
的转置
注意
三元组矩阵是构造稀疏矩阵的一种便捷形式,之后可以将它们强制转换为 dgCMatrix
对象。
请注意,"dgTMatrix"
(和其他"TsparseMatrix"
类)的new(.)
和spMatrix
构造函数都隐式添加属于相同 对的 。
然而,这意味着矩阵通常可以以多种可能的 "TsparseMatrix"
表示形式存储。使用uniqTsparse()
以确保此类矩阵的内部表示的唯一性。
例子
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"))
str(mT)
mT[1,]
mT[4, drop = FALSE]
stopifnot(identical(mT[lower.tri(mT)],
m [lower.tri(m) ]))
mT[lower.tri(mT,diag=TRUE)] <- 0
mT
## Triplet representation with repeated (i,j) entries
## *adds* the corresponding x's:
T2 <- new("dgTMatrix",
i = as.integer(c(1,1,0,3,3)),
j = as.integer(c(2,2,4,0,0)), x=10*1:5, Dim=4:5)
str(T2) # contains (i,j,x) slots exactly as above, but
T2 ## has only three non-zero entries, as for repeated (i,j)'s,
## the corresponding x's are "implicitly" added
stopifnot(nnzero(T2) == 3)
也可以看看
类 dgCMatrix
或超类 dsparseMatrix
和 TsparseMatrix
; uniqTsparse
。
相关用法
- R dgCMatrix-class 压缩、稀疏、面向列的数值矩阵
- R dtrMatrix-class 三角形稠密数值矩阵
- R diagonalMatrix-class 对角矩阵的“diagonalMatrix”类
- R dsRMatrix-class 对称稀疏压缩行矩阵
- R dsCMatrix-class 数值对称稀疏(列压缩)矩阵
- R diagU2N 将三角矩阵从单位三角形变换到一般三角形并返回
- R dimScale 缩放矩阵的行和列
- R ddiMatrix-class 对角数值矩阵的“ddiMatrix”类
- R dpoMatrix-class 正半定稠密(压缩|非压缩)数值矩阵
- R dmperm Dulmage-Mendelsohn 排列/分解
- R dtpMatrix-class 填充三角密集矩阵 - “dtpMatrix”
- R dtCMatrix-class 三角形(压缩)稀疏列矩阵
- R drop0 从稀疏矩阵中删除非结构零
- R dtRMatrix-class 三角形稀疏压缩行矩阵
- R denseMatrix-class 所有密集矩阵的虚拟类“denseMatrix”
- R ddenseMatrix-class 数值密集矩阵的虚拟类“ddenseMatrix”
- R dsyMatrix-class 对称密集(压缩或非压缩)数值矩阵
- R dsparseMatrix-class 数值稀疏矩阵的虚拟类“dsparseMatrix”
- R dMatrix-class (虚拟)“双”矩阵的“dMatrix”类
- R facmul-methods 乘以矩阵因式分解的因数
- R solve-methods 函数求解矩阵包中的方法
- R updown-methods 更新和降级稀疏 Cholesky 分解
- R bdiag 构建分块对角矩阵
- R printSpMatrix 灵活格式化和打印稀疏矩阵
- R symmetricMatrix-class 包矩阵中对称矩阵的虚拟类
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Sparse matrices in triplet form。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。