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

Convert Large Document Term Document Matrix into Matrix

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

我需要将其转换为矩阵,但在尝试这样做时我收到神奇的错误消息:"cannot allocate 100 GBs".

是否有任何 package/library 允许分块进行此转换?

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

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

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

注意:我为稀疏设置 0.2 只是为了举例。您应该根据您的 tdm 来决定该值。

这里有一些 link 可以阐明 removeSparseTerms 函数和 sparse 值:

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