Rで解析:文字列操作に役に立つかも??「textclean」パッケージ


英数字の操作が基本になると考えますが、全角カナ・漢字の操作も句読点などが対象外ですが一応可能なので紹介します。

パッケージバージョンは0.2.0。windows 10のR version 3.3.2で動作を確認しています。

パッケージのインストール

下記コマンドを実行してください。

#パッケージの読み込み
library("textclean")

実行コマンドの紹介

詳細はコマンド、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("textclean")

###データ例の作成#####
TestData <- c("karada", "に、", "いい もの", NA, "アニメ", "も",
              ",からだに", "いい,もの", "デス!!")
#内容確認
TestData
[1] "karada" "に、" "いい もの" NA "アニメ" "も"
[7] ",からだに" "いい,もの" "デス!!"
########

#カンマの後ろに半角スペースを追加:add_comma_spaceコマンド
add_comma_space(TestData)
[1] "karada"     "に"         "いい もの"  NA "アニメ" "も"
[7] ", からだに" "いい, もの" "デス!!"

#正規表現で指定した内容を除去して表示:filter_elementコマンド
#正規表現の例:^;先頭に含む,$;末尾に含む,?;0または1回繰り返す
#*;0または1回以上繰り返す,.;単一文字にマッチ
#例:いを繰り返す単語を除去
filter_element(TestData, ".*い")
[1] "karada" "に、" NA "アニメ" "も" ",からだに" "デス!!"

#.や!等を末部に含むかどうかの確認:has_endmarkコマンド
has_endmark(TestData)
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE

#gsubコマンドの置き換え対象を複数設定:mgsubコマンド
#対象を設定:patternオプション;正規表現でも指定が可能
#置換内容を設定:replacementオプション
#なお指定した順にすべて繰り返す仕様なので注意が必要です
mgsub(TestData, pattern = c("k", "からだ"),
      replacement= c("からだ", "karada"))
[1] "からだarada" "に、" "いい もの" NA "アニメ" "も"
[7] ",からだaradaに" "いい,もの" "デス!!"  

#データ構造を確認:check_textコマンド
#「hunspell」パッケージがインストールされていない場合
#確認コマンドが表示されます
check_text(TestData)
==========================
MISSING ENDING PUNCTUATION
==========================
  
The following observations were missing ending punctuation:
1, 2, 3, 4, 5, 6, 7, 8

The following text is missing ending punctuation:
1: karada
2: に、
3: いい もの
4: NA
5: アニメ
6: も
7: ,からだに
8: いい,もの
*Suggestion: Consider cleaning the raw text or running `replace_incomplete`

=====================
NON SPACE AFTER COMMA
=====================
The following observations were non space after comma:
7, 8

The following text is non space after comma:
7: ,からだに
8: いい,もの

*Suggestion: Consider running `add_comma_space`

========
NO ALPHA
========
The following observations were no alpha:
2, 3, 5, 6, 7, 8, 9

The following text is no alpha:
2: に、
3: いい もの
5: アニメ
6: も
7: ,からだに
8: いい,もの
9: デス!!
*Suggestion: Consider cleaning the raw text or running `filter_row`

=========
NON ASCII
=========
The following observations were non ascii:
2, 3, 5, 6, 7, 8, 9

The following text is non ascii:
2: に、
3: いい もの
5: アニメ
6: も
7: ,からだに
8: いい,もの
9: デス!!
*Suggestion: Consider running `replace_non_ascii`

=============
MISSING VALUE
=============
The following observations were missing value:
4
*Suggestion: Consider running `filter_NA`

======================
POTENTIALLY MISSPELLED
======================
The following observations were potentially misspelled:
1, 2, 3, 5, 6, 7, 8, 9

The following text is potentially misspelled:
1: <<karada>>
2: <<に>>、
3: <<いい>> <<<<も>>の>>
5: <<アニメ>>
6: <<も>>
7: ,<<からだ<<に>>>>
8: <<いい>>,<<<<も>>の>>
9: <<デス>>!!
*Suggestion: Consider running `hunspell::hunspell_find` & `hunspell::hunspell_suggest`

あなたの解析がとっても楽になりますように!!

スポンサードリンク

関連コンテンツ


スポンサードリンク