!読み込むデータファイルの文字コードを調べる。 RはデフォルトでUTF-8を使うことになっている。 文字コードについては、システムが標準としている文字コード、Rが使う文字コード、入出力するデータの文字コードの3つを意識しなければならない。 システムが標準とするのは、Linuxの場合はUTF-8、そしてWindowsの場合はShift-JIS(CP932)である。 RやRStudioを使う場合には、UTF-8が標準となっているので、windows系のOSを使う場合には、ときおり不具合が発生する場合がある。 RStudioでのProjectの設定は、Project Global OptionとProjectごとにそれぞれデフォルトの文字コードが設定できるようになっている。 データを読み込む際にもこの問題が起こる。 システムデフォルトの文字コードを使うようになっているため、文字コードの相性が合えば良いが、そうでないときには読み込み自体に失敗する。特に、業務系のシステムから取得したデータをWindowsで処理して入手した場合、どちらのコードでファイルが生成されているかは注意したい。 なお、読み込むファイルの文字コードを推定する関数がある。 tidyverse::guess_encoding("filename") これによって各種文字コードが確率で示される。最も高い確率の文字コードをそのまま読み込みに使う。 read.delim("filename", sep = "|", stringsAsFactor = F, header = T, fileEncoding = "UTF-16LE") !文字コードを強制的に変更する 読み込み時にエンコードを指定しても、読み込んだ結果生成されるオブジェクトが、部分的に文字コードが異なるなど中途半端にエンコードされていないことがある。 Encoding(data$field) で化けているところの文字コードを確かめる。そして、 Encoding(data$field) = 'shift-jis' などで強制的にエンコード指定すると、文字化けが直ることがある。 なお使える文字コードは、'''iconvlist()'''で調べる。