R×stringr::str_conv 文字列のエンコードを指定する

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] "·"

参考文献