分析为何需要将dgtmatrix类转换为dgcmatrix类: 通常,将dgtmatrix转换为dgcmatrix是为了提高计算效率和节省存储空间。由于dgcmatrix采用了一种更紧凑的存储格式,它在处理大型稀疏矩阵时通常比dgtmatrix更快且占用更少的内存。 研究可用的转换方法或函数: 在Matrix包中,可以使用as函数或forceSymmetric函数来进行矩阵类之间的...
1 2 3 4 library("Matrix") readsCount <- read.csv("data/count.csv", header = T, row.names = 1) readsCountSM <- as(as.matrix(readsCount), "dgCMatrix") # str(M1) 想转回去,as.matrix() 就可以了。 参考: Coercion of matrix tosparsematrix (dgCMatrix) and maintainingdimnames.©...
readsCountSM <- as(as.matrix(readsCount),"dgCMatrix") # str(M1) 想转回去,as.matrix() 就可以了。 经测试, dgCMatrix格式的Rdata仅有CSV文本的十分之一大小,极大的节省了存储空间,建议转化成功后,删除所有CSV文本。 参考: Coercion of matrix tosparsematrix (dgCMatrix) and maintainingdimnames....
方法调用:as.spM_DF(as(as.matrix(getData(100)),"dgCMatrix")) 2、 超大型数据框转换出稀疏矩阵 as.DF_spM <- function(data.use,chun_size="20000000",sparseClass="dgCMatrix") { lapply(split(seq(nrow(data.use)), (seq(nrow(data.use))-1) %/%as.numeric(chun_size) ) , function(nx) { ...
文本挖掘作为自然语言处理的一个分支,主要目的是一个抽取有效、新颖、有用、可理解的、散布在文本文件中...
i <- unlist(split(vec, group), use.names = F)j <- vapply(split(vec, group), length, numeric(1))Matrix::sparseMatrix(i=i, j=rep(1:length(j), j), x=vec[i])9 x 3 sparse Matrix of class "dgCMatrix" [1,] 1 . . [2,] 2 . . [3,] . 3 . [4,] . 4 . [5,] ....
问sparse.model.matrix创建不一致的输出EN数据的输入、输出
library("Matrix")dg<-as(matrix_object,"dgCMatrix") 具体关于构建和解释稀疏矩阵,可以参照:https://blog.csdn.net/jeffery0207/article/details/122507934 题外 最后,其实如果不想这么麻烦,又不想去sample随机取样缩减数据量,大家也不用那么死板,那就先把大矩阵拆分成几个小的,转完之后再合并就行了,效果是一样...
(mat)Formalclass'dgCMatrix'[package"Matrix"]with6slots..@ i:int[1:58298590]193137588198109237248264...@ p:int[1:23131]096822633364391949206049712982489509...@Dim:int[1:2]1810423130..@Dimnames:Listof2...$:chr[1:18104(1d)]"FO538757.1""AP006222.1""AL732372.2""AL669831.5"...$:chr[1:23130(...