让我们做一些文本挖掘将文档转换期限矩阵与大量数据的矩阵导致溢出
我站在这里与文件项矩阵(从tm
包)
dtm <- TermDocumentMatrix(
myCorpus,
control = list(
weight = weightTfIdf,
tolower=TRUE,
removeNumbers = TRUE,
minWordLength = 2,
removePunctuation = TRUE,
stopwords=stopwords("german")
))
当我做一个
typeof(dtm)
我看,这是一个“清单”和结构看起来像
Docs
Terms 1 2 ...
lorem 0 0 ...
ipsum 0 0 ...
... .......
所以我尝试
wordMatrix = as.data.frame(t(as.matrix( dtm)))
这1000页的文档工作。
但是,当我尝试使用40000它不再。
我得到这个错误:矢量
Fehler in vector(typeof(x$v), nr * nc) : Vektorgröße kann nicht NA sein
Zusätzlich: Warnmeldung:
In nr * nc : NAs durch Ganzzahlüberlauf erzeugt
错误...:矢量不能NA 附加: 在由整数溢出创建
所以NR * NC来港我看着as.matrix,事实证明,该函数以某种方式将它转换为具有as.vector和矩阵的向量。 转换为矢量可行,但不是从矢量转换为矩阵dosen't。
你有什么建议可能是什么问题?
感谢,队长
一个简单的方法来获得下的内存限制您的DTM可能需要使用'tm :: removeSparseTerms'函数去除稀疏项 – Ben
避免首先包含非常罕见或单独出现的项的简单方法是使用DocumentTermMatrix(...,control(... bounds = list(global = c(N,Inf))))'并将N设置为eg 2,3,4 ...直到尺寸足够小。 – smci