在之前推文python scipy 稀疏矩阵详解中,详细介绍了常用稀疏矩阵原理及在python中的使用经验。本篇推文聚焦R语言稀疏矩阵格式及其在单细胞多组学(scRNA, scATAC)中的应用。
R稀疏矩阵
dgTMatrix
即Sparse matrices in triplet form,该格式类比于python中的coo_matrix,是最简单的稀疏矩阵存储方式,采用三元组(row, col, data)(或称为ijv format)的形式来存储矩阵中非零元素的信息。

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

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

R稀疏矩阵常用操作方法
稀疏矩阵构建
######dgCMatrix######
方法一:Matrix(*, sparse = TRUE)
#Matrix包
mat <- Matrix(data = 0L, nrow=3201, ncol = 818, sparse = TRUE) #dgCMatrix
print(objec

最低0.47元/天 解锁文章
4281





