我有一个大型的术语文档矩阵。 (6个元素,44.3 Mb)
我需要将其转换为矩阵,但在尝试执行此操作时,我会收到一条神奇的错误消息:“无法分配100 GB”。
是否有任何包/库允许以块的形式进行转换?
我尝试过ff和bigmemory,但它们似乎不允许从DTM转换为Matrix。
答案 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