R语言稀疏矩阵详解

在之前推文python scipy 稀疏矩阵详解中,详细介绍了常用稀疏矩阵原理及在python中的使用经验。本篇推文聚焦R语言稀疏矩阵格式及其在单细胞多组学(scRNA, scATAC)中的应用。

R稀疏矩阵

dgTMatrix

即Sparse matrices in triplet form,该格式类比于python中的coo_matrix,是最简单的稀疏矩阵存储方式,采用三元组(row, col, data)(或称为ijv format)的形式来存储矩阵中非零元素的信息。

dgTMatrix和coo_matrix原理一样

dgCMatrix

即Compressed, sparse, column-oriented numeric matrices,类比于Python中的csc_matrix,是一种按列压缩的稀疏矩阵格式,由三个一维数组indptr, indices, data组成。dgCMatrxi是R包Matrix中标准的格式,也是最常见的格式,单细胞多组学稀疏数据存储一般采用该格式。

dgCMatrix与csc_matrix原理一样

dgRMatrix

即Sparse Compressed, Row-oriented Numeric Matrices,类比于Python中的csr_matrix,和dgCMatrxi相反,该格式稀疏矩阵按行压缩,原理上同样由三个一维数组indptr, indices, data组成。dgRMatrxi稀疏矩阵在单细胞组学分析中一般不显示使用。所以接下来的介绍以dgCMatrxi为主,dgRMatrxi的实现方法实际是类似的。

dgRMatrix与csr_matrix原理一样

R稀疏矩阵常用操作方法

稀疏矩阵构建

######dgCMatrix######
方法一:Matrix(*, sparse = TRUE)
#Matrix包
mat <- Matrix(data = 0L, nrow=3201, ncol = 818, sparse = TRUE) #dgCMatrix
print(object.size(mat), unit="KB")
#4.7 Kb
dim(mat)
#[1] 3201  818

方法二:sparseMatrix()
#Matrix包
i <
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值