関数から数字や文字列を除去する方法について記載します。
例えば以下のような変換ができます。
"僕の 国語の 点数は 100点 です 。"
[数字を除去]
"僕の 国語の 点数は 点 です 。"
"僕の 国語の 点数は 100点 です 。"
["国語の"、のワードを除去]
"僕の 点数は 100点 です 。"
必要なlibrary
テキストマイニングによく使用される"tm"が必要となります。
> install.packages("tm") > library(tm)
数字の除去方法(removeNumbers)
removeNumberを使用します。
> tmp <- "僕の 国語の 点数は 100点 です 。" > removeNumbers(tmp) [1] "僕の 国語の 点数は 点 です 。"
"100"の数字のみ消すことができました。
ちなみに次に紹介するremoveWordsとは異なり、単語で区切っている必要はありません。
わかりやすい例を以下に記載します。
> tmp2 <- "a1b2c3d4e5" > removeNumbers(tmp2) [1] "abcde"
文字列(単語)の除去方法(removeWords)
文字列を除去するにはremoveWords関数を使用して、除去したい単語を引数として指定します。
> tmp <- "僕の 国語の 点数は 100点 です 。" > removeWords(tmp, c("僕の", "です")) [1] " 国語の 点数は 100点 。"
なお、removeWordsでは単語毎に削除するため、スペースで区切っている必要があります。
以下のように特定の文字のみ消すことはできません。
> removeWords(tmp2, "a") [1] "a1b2c3d4e5"
そのような時は素直にsubやgsubを使用しましょう。
> gsub("僕", "", tmp) [1] "の 国語の 点数は 100点 です 。" > gsub("a", "", tmp2) [1] "1b2c3d4e5"