rsparsematrix
位于 Matrix
包(package)。 说明
有效地生成随机稀疏矩阵。默认情况下具有舍入高斯非零条目,并且 rand.x = NULL
生成随机模式矩阵,即继承自 nsparseMatrix
。
用法
rsparsematrix(nrow, ncol, density, nnz = round(density * maxE),
symmetric = FALSE,
rand.x = function(n) signif(rnorm(n), 2), ...)
参数
nrow , ncol |
行数和列数,即矩阵维度 ( |
density |
|
nnz |
非零条目的数量,对于稀疏矩阵通常比 |
symmetric |
逻辑指示结果是否应该是类 |
rand.x |
|
... |
可选地将更多参数传递给 |
细节
该算法首先通过一维索引对 “encoded” symmetric
sample.int(nrow*ncol, nnz)
,则 — 如果 rand.x
不是 NULL
— 获取 x <- rand.x(nnz)
并调用 sparseMatrix(i=i, j=j, x=x, ..)
。当 rand.x=NULL
时,sparseMatrix(i=i, j=j, ..)
将返回一个模式矩阵(即继承自 nsparseMatrix
)。 进行无放回采样,如果不是
值
a sparseMatrix
,例如维度 (nrow, ncol) 的 M
,即,如果 symmetric
不为 true,则使用 dim(M) == c(nrow, ncol)
,而 nzM <- nnzero(M)
满足 nzM <= nnz
,并且通常满足 nzM == nnz
。
例子
set.seed(17)# to be reproducible
M <- rsparsematrix(8, 12, nnz = 30) # small example, not very sparse
M
M1 <- rsparsematrix(1000, 20, nnz = 123, rand.x = runif)
summary(M1)
## a random *symmetric* Matrix
(S9 <- rsparsematrix(9, 9, nnz = 10, symmetric=TRUE)) # dsCMatrix
nnzero(S9)# ~ 20: as 'nnz' only counts one "triangle"
## a random patter*n* aka boolean Matrix (no 'x' slot):
(n7 <- rsparsematrix(5, 12, nnz = 10, rand.x = NULL))
## a [T]riplet representation sparseMatrix:
T2 <- rsparsematrix(40, 12, nnz = 99, repr = "T")
head(T2)
作者
Martin Maechler
相关用法
- R replValue-class 虚拟类“replValue” - 子分配值的简单类
- R rep2abI 将向量复制到“abIndex”结果中
- R rleDiff-class rle(diff(.)) 存储向量的“rleDiff”类
- R rcond-methods 估计条件数的倒数
- R rankMatrix 矩阵的秩
- 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 ldenseMatrix-class 密集逻辑矩阵的虚拟类“ldenseMatrix”
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Random Sparse Matrix。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。