は私が行うとき、私は(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 ...
... .......
だから私は、1000のドキュメントのために働く
wordMatrix = as.data.frame(t(as.matrix( dtm)))
を試してみてください。
しかし、私が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のNAで I as.matrixを見て、何とか関数がas.vectorと行列よりもベクトルに変換することが判明しました。 ベクトルへの変換は機能しますが、ベクトルから行列への変換は機能しません。
何か問題がありますか?
おかげで、キャプテン
メモリの制限の下で、あなたのDTMを取得する簡単な方法'TM :: removeSparseTerms'機能 – Ben
を使用して、スパース用語を削除することであってもよい最初の場所で非常に稀または単独に発生する用語を含む回避するための簡単な方法は=' DocumentTermMatrix(...、コントロール(...境界を使用することですリスト(グローバル=のC(N、INF)))) 'と例えばにNを設定します2,3,4 ...サイズが十分に小さくなるまで。明確化のため – smci