この記事は「おうち」の外でRStudioを使ってみたはいいけど,「おうちに帰ってうまくできなくて困る」という人のためのものです.
この記事の読者想定
- R, RStudioのインストールは完了している.
- 使われるスクリプト(下記を想定)については,他の人からもらったりして,手元にある.
-
.r
ファイル -
.rmd
ファイル
-
- 使われるデータ(下記を想定)については,他の人からもらったりして,手元にある.
-
csv
ファイル -
rdata
ファイル
-
スクリプトを開いて実行するところまで書きます.
スクリプトを開く
日本語が含まれるスクリプトを開いたときの文字化け対策です.
~
がスクリプトの中に含まれている場合
上記の操作を行うと~
と入っていたものが・
として置き換えられる場合があります.
(lm()
関数なんかを使っている場合に発生)
そのときは,大人しく入力し直しましょう.
もしくは,Coteditorなどを使用してファイルの文字コードを変換しましょう.
テキストエディットを使用して文字コードを変換する
.Rmd
ファイルや.R
を右クリックして「このアプリケーションから開く」から「テキストエディット」を開きましょう.
開いたファイルを複製します.
複製したものを指定したファイル名で保存しましょう.
このとき,エンコーディングをUTF-8
にします.
デフォルトでは保存時にファイル名に.Rmd
などが含まれないので,自分で付与して保存しましょう.
データを開く
Windowsで作成されたRdataをMacで開く
WindowsユーザーからRdataをもらったとき,それをMacで開くと,そこに入っている日本語が化けてしまうことがあります.
これに対応する方法を以下に記します.
データの読み込みの復習
データの読み込みはload
関数を使えばよかったですね.
例えば,tofu
というデータを次のコマンドによって読み込んだとします.
load("tofu.Rdata")
読み込んだデータの確認
これではなんの事やらわかりません.
ここで,何が文字化けしているかを考えます...
行と列ですね.(因子型データが含まれている場合には,その列を確認しておきます.)
文字コードを変換するための関数
文字コードの変換は関数iconv
によって可能です.
使い方は
iconv(x, from = "", to = "", sub = NA, mark = TRUE, toRaw = FALSE)
とします.
以下で具体的に確認しましょう.
文字化けしたデータフレームを直す
まずは,行名を直します.
rownames(tofu)
でデータフレームtofu
の行のラベルを参照できます.
ここでの文字コードがshift-jis
である事によって文字化けしているので,次のように直します.
rownames(tofu) <- iconv(rownames(tofu), from = "shift-jis", to = "utf8")
同じ要領で列名も直します.
colnames(tofu) <- iconv(colnames(tofu), from = "shift-jis", to = "utf8")
おめでとう!ちゃんと治りました!!