2017-10-29 4 views
0

次のコードを使用してDocument Term Matrixを作成しています。行列を作成するのに問題はありませんが、スパース項を削除しようとしたり、頻出条件を見つけようとするとエラーが発生します。ここでRエラー:inherits(x、c( "DocumentTermMatrix"、 "TermDocumentMatrix"))がTRUEではありません

text<- c("Since I love to travel, this is what I rely on every time.", 
     "I got this card for the no international transaction fee", 
     "I got this card mainly for the flight perks", 
     "Very good card, easy application process", 
     "The customer service is outstanding!") 

library(tm) 
corpus<- Corpus(VectorSource(text)) 
corpus<- tm_map(corpus, content_transformer(tolower)) 
corpus<- tm_map(corpus, removePunctuation) 
corpus<- tm_map(corpus, removeWords, stopwords("english")) 
corpus<- tm_map(corpus, stripWhitespace) 

dtm<- as.matrix(DocumentTermMatrix(corpus)) 

は結果である:私はremoveSparseTermsまたはfindFreqTerms

sparse<- removeSparseTerms(dtm, 0.80) 
freq<- findFreqTerms(dtm, 2) 

結果

Error: inherits(x, c("DocumentTermMatrix", "TermDocumentMatrix")) is not TRUE 
のいずれかを使用してエラーが出るのはここ

Docs application card customer easy every ... etc. 
1  0   0  0   1  0 
2  0   1  0   0  1 
3  0   1  0   0  0 
4  1   1  0   0  0 
5  0   0  1   0  0 

です

答えて

4

removeSparseTermsfindFreqTermsDocumentTermMatrix又はTermDocumentMatrixオブジェクトないマトリックスを期待しています。

行列に変換せずにDocumentTermMatrixを作成すれば、エラーは発生しません。

dtm <- DocumentTermMatrix(corpus) 
sparse <- removeSparseTerms(dtm, 0.80) 
freq <- findFreqTerms(dtm, 2) 
+0

ありがとうございます、それは動作しますが、どのように私はそれをマトリックス形式に変換すると思いますか?私はas.matrix(DocumentTermMatrix(sparse))のような疎とfreqを取ろうとしたが、うまくいかなかった。 – djacobs1216

+0

申し訳ありませんが、私はそれを理解しました。私はちょうどas.matrix(疎)でしたし、それは働いた。再度、感謝します! – djacobs1216

関連する問題