2017-10-31 10 views
0

私は適切な名前を見つけるためにコーパスをクリーンアップしようとしています。どのように小文字をすべて削除するのですか? removeWords? gsub?テキスト分析 - 私のコーパスから小文字の単語を削除したい。 gsubを使用できますか?

doc.corpus <- tm_map(doc.corpus, removePunctuation) 
doc.corpus <- tm_map(doc.corpus, removeNumbers) 
doc.corpus <- tm_map(doc.corpus, removeWords, stopwords("english")) 
doc.corpus <- tm_map(doc.corpus, removeWords, stopwords("SMART")) 

doc.corpus <-tm_map(doc.corpus, removeWords, lower) ****something like this?**** 

inspect(doc.corpus[8]) 
+0

'tolower'ですか? – patL

+0

推測、Opはすべての小文字の単語を削除したい! – amrrs

+0

@ネルソン・R・ジャテルあなたが役に立った場合、答えを受け入れることができますか? – Santosh

答えて

0

以下を試してください。希望の出力が何であるかに応じて、置換の順序を変更する必要があります。以下の例では、ドットは、略語「U.S.」から削除され、 「U S」を与え、2つの別個の文字のみを与える。あなたがそのような略語を保持したいならば、正規表現を適合させる必要があります。

library(tm) 
data(crude) 
corp <- crude 

corp <- tm_map(corp, content_transformer(gsub), pattern="(?<=\\s|^)([a-z]+)(?=\\s|$|\\W)", replacement = " ", perl=T) 
corp <- tm_map(corp, content_transformer(gsub), pattern="\\d|\\W", replacement = " ", perl=T) 
corp <- tm_map(corp, content_transformer(gsub), pattern="\\s+", replacement = " ", perl=T) 

inspect(corp[[1]]) 
0
teststring <- "aaa Bbb ccc Ddd eee Fff" 
trimws(gsub("\\b[a-z]+\\b", "", teststring)) 
#[1] "Bbb Ddd Fff" 

gsub上記の関数はすべて小文字の単語を削除します。したがって、このgsub関数をコードに次のように使用できます。

+0

@ulfelder指摘していただきありがとうございます。私はOPの質問に答えを更新しました。 – Santosh

関連する問題