日本語データの入ったcsvを読む込む(Windowsの場合)
今回はたぶんWindows限定の内容な気がする。RStudioはVersion 1.0.44を使用。
csvファイルを用意する
いつものように「ラブライブ!サンシャイン!!」から,スクールアイドルグループAqoursのメンバーのデータを使用する。
library(tidyverse) dat <- data_frame( name=c("高海千歌","桜内梨子","松浦果南","黒澤ダイヤ","渡辺曜","津島善子","国木田花丸","小原鞠莉","黒澤ルビィ"), grade=c(2,2,3,3,2,1,1,3,1), #学年 height=c(157,160,162,162,157,156,152,163,154), #身長 B=c(82,80,83,80,82,79,83,87,76), #バスト W=c(59,58,58,57,57,58,57,60,56), #ウエスト H=c(83,82,84,80,81,80,83,84,79) #ヒップ )
今回はこのデータをcsvファイルにエクスポートする。まずどこにファイルが出力されるか確認するために,現在の作業ディレクトリ(フォルダ)の確認をする。
getwd()
場所を変更したい場合は,以下のコードで指定できる。なおRStudioなら,Ctrl + Shift + H
のショートカットで同じことができる。
setwd(choose.dir()) #実行すると一見なにも起きてないようになるけど,画面下部のタスクバーに新しいプログラムが動作しているお知らせがでるので,それを開くと場所を指定できるはず。
次のコードでcsvファイルのエクスポート完了である。
write.csv(dat, "aqours.csv",row.names = FALSE)
csvファイルを読み込む
さて,それではRStudioの便利なImport Dataset機能を使ってcsvファイルを読み込んでみる。 詳しく知りたい方は↓を読むとしゅごいって思うに違いない。
下の図にあるように,Import DatasetのFrom CSV
の部分をクリックすればよい
csvファイルを開こうとしてみると,↓のような画面になる
name変数の日本語が入ってるはずの列が意味不明な文字列に!
これは,実際にRの表示上もこのままなので,解析の際にとても困る。 じゃあどうしたらよいか,ということで色々ネット上で情報を探し見たら,解決法が見つかった。
つまり,Code Preview:の所に出てきたコードで,エンコードをcp932
に変更すればよい。
下図では,とりあえずEncodingをDefaultからUTF-8に変更し,コードプレビューに表示させ,そこに手動でcp932
に置き換えてみている。
下記のように,ファイルの場所の指定部分に加え,locale = locale(encoding = "cp932")
という部分が追加されている。
aqours <- read_csv("ここにフォルダまでのパス/aqours.csv", locale = locale(encoding = "cp932")) aqours
# A tibble: 9 × 6 name grade height B W H <chr> <int> <int> <int> <int> <int> 1 高海千歌 2 157 82 59 83 2 桜内梨子 2 160 80 58 82 3 松浦果南 3 162 83 58 84 4 黒澤ダイヤ 3 162 80 57 80 5 渡辺曜 2 157 82 57 81 6 津島善子 1 156 79 58 80 7 国木田花丸 1 152 83 57 83 8 小原鞠莉 3 163 87 60 84 9 黒澤ルビィ 1 154 76 56 79
この通り,ちゃんと読み込んで日本語を表示できた!
cp932
というのは,Shift_JISの拡張版みたいなやつっぽい。だから,読み込むcsvファイルの文字エンコードがShift_JISであることが前提になっているが,Windowsを使っていると多くの場合そうなっているのではないかと思う。
cp932
はR Scriptを保存するときに出てくる,下の画面にも出てたことに気がついた。
意味不明な記号数字・・・と思ってたデフォルトの指定はこのことだったのか!
ともあれ,これでやっとAqorsメンバーの名前が正常に読み込めた。