2017-04-14 12 views
1

ベクトルのダッシュを含む単語の頻度をカウントするには、Rでtmパッケージを使用しています。私は、TMパッケージは三つの言葉のように3つのテキスト文字列を数える期待するが、実際には二つの単語として、各文字列を扱うtmパッケージでRを使用するときの句読点の除去を回避する方法

a = c("happy_day", "great_book", "funny_movie") 

myCorpus = Corpus(VectorSource(a)) 

myDTM = DocumentTermMatrix(myCorpus, control = list(minWordLength = 1)) 

freq = sort(colSums(as.matrix(myDTM)), decreasing = T) 

私のコードは次のようです。 FREQの

私の期待される内容は次のとおりです。ただし

funny_movie great_book happy_day 

    1    1   1 

、私は実際に私が数週間前に同様のコードを使用している

book day funny great happy movie 

1  1  1  1  1  1 

で取得し、その時点でコードが与えたものを期待通りの結果しかし、私がmyDTM = DocumentTermMatrix(myCorpus, control = list(minWordLength = 1, removePunctuation = FALSE))を使用しても、私はいつも予期しない結果を得ています。

ファイル内にアンダースコア「_」が含まれている単語を数えるためにできることが分かりますか?

ありがとうございます!

答えて

2

あなたは

myCorpus = Corpus(VectorSource(a)) 

myCorpus = VCorpus(VectorSource(a)) 

に変更する場合は、あなたが望む結果を得る必要があります。 Corpusは、デフォルトで SimpleCorpusを返します。 DocumentTermMatrixを実行すると、ほとんどの(?)ユーザーが望む作業の集まりで効率パイプラインが実行されます(基本的には control=のパラメータを無視します)。 VCorpus

+1

ありがとうございます! VCorpusは動作します。 –

関連する問題