如何将稀疏或simple_triplet_matrix转换为tm-package文档术语矩阵而不通过Corpus / VCorpus,在R?

时间:2015-01-18 11:54:40

标签: r sparse-matrix text-mining tm

我有一个spsMatrix(库矩阵)或一个simple_triplet_matrix(库满贯)的docs x术语,例如:

library(Matrix)
mat <- sparseMatrix(i = c(1,2,4,5,3), j = c(2,3,4,1,5), x = c(3,2,3,4,1))
rownames(mat) <- paste0("doc", 1:5)
colnames(mat) <- paste0("word", 1:5)

5 x 5 sparse Matrix of class "dgCMatrix"
     word1 word2 word3 word4 word5
doc1     .     3     .     .     .
doc2     .     .     2     .     .
doc3     .     .     .     .     1
doc4     .     .     .     3     .
doc5     4     .     .     .     .

或:

library(slam)
mat2 <- simple_triplet_matrix(c(1,2,4,5,3), j = c(2,3,4,1,5), v = c(3,2,3,4,1),
                          dimnames = list(paste0("doc", 1:5), paste0("word", 1:5)))

我希望将这些矩阵中的任何一个转换为tm :: Document-Term-Matrix,而无需通过Corpus / VCorpus创建。

这仅适用于小型矩阵: In R tm package, build corpus FROM Document-Term-Matrix

我的矩阵非常大,~16K x~53K,所以列表显示对于合理的RAM来说太大了,而且我不明白为什么我应该通过语料库创建,其中tm包手册明确说明了文档术语矩阵是一个稀疏矩阵。

关于如何将已经稀疏的矩阵转换为tm的文档术语矩阵的任何建议?

谢谢。

1 个答案:

答案 0 :(得分:6)