R语言
spMatrix
位于 Matrix
包(package)。 说明
用户友好地从三元组表示构造稀疏矩阵(继承自类 TsparseMatrix
)。
这比 sparseMatrix()
更不灵活,因此有些不推荐使用。
用法
spMatrix(nrow, ncol, i = integer(), j = integer(), x = double())
参数
nrow , ncol |
指定所需行数和列数的整数。 |
i , j |
相同长度的整数向量指定矩阵的非零(或非 |
x |
与 |
值
三元组形式的稀疏矩阵,作为R对象继承自两者TsparseMatrix
和generalMatrix
.
矩阵 M[i[k], j[k]] == x[k]
,对于 ,其中 n = length(i)
和 M[ i', j' ] == 0
对于所有其他对 。 将具有
例子
## simple example
A <- spMatrix(10,20, i = c(1,3:8),
j = c(2,9,6:10),
x = 7 * (1:7))
A # a "dgTMatrix"
summary(A)
str(A) # note that *internally* 0-based indices (i,j) are used
L <- spMatrix(9, 30, i = rep(1:9, 3), 1:27,
(1:27) %% 4 != 1)
L # an "lgTMatrix"
## A simplified predecessor of Matrix' rsparsematrix() function :
rSpMatrix <- function(nrow, ncol, nnz,
rand.x = function(n) round(rnorm(nnz), 2))
{
## Purpose: random sparse matrix
## --------------------------------------------------------------
## Arguments: (nrow,ncol): dimension
## nnz : number of non-zero entries
## rand.x: random number generator for 'x' slot
## --------------------------------------------------------------
## Author: Martin Maechler, Date: 14.-16. May 2007
stopifnot((nnz <- as.integer(nnz)) >= 0,
nrow >= 0, ncol >= 0, nnz <= nrow * ncol)
spMatrix(nrow, ncol,
i = sample(nrow, nnz, replace = TRUE),
j = sample(ncol, nnz, replace = TRUE),
x = rand.x(nnz))
}
M1 <- rSpMatrix(100000, 20, nnz = 200)
summary(M1)
也可以看看
Matrix(*, sparse=TRUE)
用于此类矩阵的更常用构造函数。然后,sparseMatrix
比 spMatrix()
更通用、更灵活,并且默认返回 CsparseMatrix
,这通常稍微更理想。此外,bdiag
和 Diagonal
用于(块)对角矩阵构造函数。
考虑TsparseMatrix
和类似的类定义帮助文件。
相关用法
- R sparseMatrix 从非零项构建一般稀疏矩阵
- R sparseQR-class 稀疏 QR 分解
- R sparse.model.matrix 构造稀疏设计/模型矩阵
- R sparseVector-class 稀疏向量类
- R sparseMatrix-class 虚拟类“sparseMatrix”——稀疏矩阵之母
- R sparseLU-class 稀疏 LU 分解
- R sparseVector 从非零条目构造稀疏向量
- 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大神的英文原创作品 Sparse Matrix Constructor From Triplet。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。