R言語のstringrパッケージに含まれているstr_conv()関数について解説します。この関数は、「文字化けしてしまったテキストを、正しい文字コード(エンコーディング)に変換して救い出す」ときに使える関数です。外部の古いファイル(Excelから書き出したCSVなど)をRに読み込んだ際、日本語が ã\u0081\u0082 のように不気味な記号に化けてしまった経験はありませんか?それを人間が読める正しい日本語に戻すための関数です。
stringrパッケージは、文字列データを操作するための強力で便利な関数を多く取り扱っています。また、Rのデータサイエンス向け主要パッケージ群であるtidyverseパッケージにも含まれています。
概要
str_conv()は、文字列のエンコードを指定するための関数です。str_conv()は、文字列の現在のエンコードをオーバーライドする便利な方法です。
使い方
str_conv(string, encoding)
引数
string
文字ベクトルまたは文字ベクトルに変換可能なものを指定します。
encoding
エンコーディングの名前を指定します。
完全なリストについては、stringi::stri_enc_list()を参照してください。
使用例
準備
あらかじめ、tidyverseパッケージまたはstringrパッケージを読み込んでおきます。
# library(tidyverse)でもよい
library(stringr)
エンコード変換
s <- rawToChar(as.raw(177))
s
[1] "\xb1"
str_conv(x, "SHIFT_JIS")
[1] "キ"
str_conv(x, "ISO-8859-1")
[1] "·"