将大型文档术语文档矩阵转换为矩阵

时间:2017-11-21 00:59:54

标签: r out-of-memory bigdata text-mining data-conversion

我有一个大型的术语文档矩阵。 (6个元素,44.3 Mb)

我需要将其转换为矩阵,但在尝试执行此操作时,我会收到一条神奇的错误消息:“无法分配100 GB”。

是否有任何包/库允许以块的形式进行转换?

我尝试过ff和bigmemory,但它们似乎不允许从DTM转换为Matrix。

1 个答案:

答案 0 :(得分:1)

在转换为矩阵之前,从术语文档矩阵中删除稀疏术语。这将显着降低矩阵大小。要删除稀疏术语,您可以执行以下操作:

 library(tm)
 ## tdm - Term Document Matrix
 tdm2 <- removeSparseTerms(tdm, sparse = 0.2)
 tdm_Matrix <- as.matrix(tdm2)

注意:我为稀疏放0.2只是为了一个例子。您应该根据您的tdm确定该值。

以下链接可以阐明removeSparseTerms函数和sparse值:

How does the removeSparseTerms in R work?

https://www.rdocumentation.org/packages/tm/versions/0.7-1/topics/removeSparseTerms