我们来做一些Text Mining
在这里,我站在一个文档术语矩阵(来自tm包)
dtm <- TermDocumentMatrix(
myCorpus,
control = list(
weight = weightTfIdf,
tolower=TRUE,
removeNumbers = TRUE,
minWordLength = 2,
removePunctuation = TRUE,
stopwords=stopwords("german")
))
Run Code Online (Sandbox Code Playgroud)
当我做的时候
typeof(dtm)
Run Code Online (Sandbox Code Playgroud)
我看到它是一个"列表",结构看起来像
Docs
Terms 1 2 ...
lorem 0 0 ...
ipsum 0 0 ...
... .......
Run Code Online (Sandbox Code Playgroud)
所以我试试了
wordMatrix = as.data.frame( t(as.matrix( dtm )) )
Run Code Online (Sandbox Code Playgroud)
这适用于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
Run Code Online (Sandbox Code Playgroud)
向量中的错误...:向量不能是NA附加:在nr*nc由整数溢出创建的NAs …
我的MatrixR 稀疏,显然对我来说太大as.matrix()了(虽然它也不是超大).有as.matrix()问题的调用是在svd()函数内部,所以我想知道是否有人知道不需要先转换为密集矩阵的SVD的不同实现.