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