DB/R/統計/データサイエンス/投資話についてつらつらと

世のため自分のためのアウトプット

R 解説記事

【R言語の備忘録】数字や文字列(単語)の除去方法【テキストマイニング】

投稿日:

関数から数字や文字列を除去する方法について記載します。

例えば以下のような変換ができます。

"僕の 国語の 点数は 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"

-R, 解説記事

Copyright© 世のため自分のためのアウトプット , 2020 All Rights Reserved Powered by STINGER.