猫も杓子もPython.今更Rはオワコンかもしれないけど,気軽に計算できる環境としてはやっぱりRは便利ですね.
Rを使ってRStudio上でのRmarkdownの作成と,いくつかのパッケージ(RCommander(オワコンかもしれないけど), tidyverse)のインストールまでできるようなものを書きます.
というのも,最近Windows10で問題が起こりぎみでそれについてうまい解決例までが示された記事が(私が探した限りでは)なかったということで,ある程度ととのえたものを書いておこうという気持ちです.
検証したバージョン
- R (3.6.2)
- RStudio (1.2.5003)
- R 4.0.0 での検証については下の方にメモしてあります.
- 2022年4月にR4.2.0がリリースされたことにより,OneDriveやらの問題は解消されているようです.
- RStudioとの組み合わせで,中身がちゃんとあるスクリプトを開いても空の表示がなされてしまう問題が確認できました.
- reopen with encoding... でUTF-8にして開き直すと解決できました.
Windowsでの環境構築
Windowsでの環境構築はすこしややこしいので前準備が大切です.
- 今回検証したWindowsバージョン: Windows 10 Pro バージョン1909
0. 前準備
いずれも同じようなトラブルですが,以下のような場合にはトラブルが発生する恐れがあります.
以下2つのいずれかに当てはまる場合には別途準備が必要です.
OneDriveとの連携をしている場合
- 発生しうる問題:パッケージインストールを行う際にインストール先ディレクトリを作成できないというようなエラーが発生する.
確認方法
- 下図の1〜3の順番にOneDriveの設定を開く.
タスクバーのOneDriveアイコン>その他>設定
- 下図のとおり「バックアップ」タブの「バックアップを管理」を開く
- 設定画面のドキュメント部分を確認して
「ファイルはバックアップされました」と書いてあればOneDriveと連携されている.
解決方法
解決方法1
一番単純な方法(OneDriveバックアップ機能を用いていないのであればおすすめ)
ドキュメントのバックアップをやめる
「バックアップの停止」をクリックしてOneDriveとの連携を解除
解決方法2
Rを管理者権限にて実行
パッケージをインストールする際に管理者権限でRStudioを起動すれば良い.
PCのユーザ全員のRに影響を与えてしまうので,それをわかった上で実行する必要がある.
解決方法3
環境変数R_LIBS_USER
に場所を記述
環境変数R_USER
, HOME
の場所を指定し直す
(OneDriveバックアップに対応したまま使うことができるが,今後のバージョンアップなどでどうなるかわからないので,これをやるときは注意,そして,環境変数HOME
を追加するので,他のプログラムに影響を及ぼす可能性があるので注意.)
これは管理者権限を持っていなくてもどうにかできる.
- ドキュメントフォルダの中にパッケージインストール場所を作成する.
C:/ユーザー/[ユーザ名]/Documents
というフォルダの中に「R」という空フォルダを作り,「R」フォルダの中に「win-library」というからフォルダを作る.
作ったフォルダのpathがC:/ユーザー/[ユーザ名]/Documents/R/win-library
であれば良い.
- 「システム環境変数の編集」を開く
スタートメニューでpath
と検索すれば出てくる.
-
環境変数を開く
-
ユーザ環境変数に「R_LIBS_USER
」を追加
ユーザ環境変数に「HOME
」「R_USER
」を追加
「新規」を押して,変数名に「R_LIBS_USER
」,変数値に上で作成したフォルダのパスを記入してOKを押す.
HOME
, R_USER
は両方とも
C:\Users\[Username]\Documents
に指定すればよい.
Rで次のコマンドを用いることで設定を確認可能.
Sys.getenv()
この解決法の参考ページ
管理者権限のないユーザで環境変数を変更する方法
日本語のユーザ名で使っている場合
- 発生しうる問題:RStudioが立ち上がらない
Microsoftアカウントでログインしている場合,問題はないが,オフラインアカウントを使っている場合には問題が発生することがある.
確認方法
設定>アカウントを開く
ユーザの情報のアイコンの下が「てすとゆーざ」のように日本語表記されている場合は,ユーザ名が日本語(雑な仮想環境を用意しているので,ライセンス認証していない)
ほかには,デスクトップにできてるショートカットのプロパティを見るところからでも確認できる.
こんなように日本語を含んでいるとうまくいかない.
解決方法
RStudioを利用するために新規ユーザを作成する.
Windows 10 でローカルのユーザー アカウントまたは管理者アカウントを作成するのページの「ローカル ユーザー アカウントを作成する」を参考に,日本語を含まないユーザーを作成し,そのユーザーアカウントを使ってRStudioを利用しましょう.
1. R, RStudioのインストール
下記のリンクからダウンロードをし,基本的には初期設定のままインストールすれば良い.
- R
- こちらのリンクからダウンロード
- R tools
- こちらのリンクからダウンロード
- R toolsはrecommendedをインストールすれば良い.
- RStudio
- こちらのリンクからダウンロード
- Windows版を選択してダウンロードする.
2. RMarkdownの作成
RStudioのファイルメニューから
File>New>R Notebookを開く.
初回はパッケージのインストールに関するダイアログが出るのでYesを押してインストールする.
インストールが完了したらRmdファイルが作成されるので,画面上のknitボタンを押してknitする.
うまくいけばR/RStudioは適切にインストールされているはず.
3. RCmdr, tidyverseのインストール
RStudioをを起動してコンソール画面に下記のコマンドを実行する.
RCommanderのインストール
RCommanderのインストールは次のコマンドを実行すれば良い.
一部のパッケージはソースからインストールするか聞かれるが,Noと答えれば良い.
install.packages("Rcmdr", dep=T)
tidyverseのインストール
tidyverseのインストールは次のコマンドを実行すれば良い.
一部のパッケージはソースからインストールするか聞かれるが,Noと答えれば良い.
install.packages("tidyverse", dep=T)
Macでの環境構築
Macでのインストールではそんなにトラブルがないはずです.
次のように順を追ってインストールしていけば問題なく環境の構築はできると思います.
ただ,日本語を含むグラフのプロットは少し曲者です.
1. R, RStudioのインストール
2. RMarkdownの作成
Windowsと同じようにFile>New>R Markdown...を開くとしていけばよい.
3. RCmdr, tidyverseのインストール
RStudioをを起動してコンソール画面に下記のコマンドを実行する.
RCommanderのインストール
RCommanderのインストールは次のコマンドを実行すれば良い.
一部のパッケージはソースからインストールするか聞かれるが,Noと答えれば良い.
install.packages("Rcmdr", dep=T)
tidyverseのインストール
tidyverseのインストールは次のコマンドを実行すれば良い.
一部のパッケージはソースからインストールするか聞かれるが,Noと答えれば良い.
install.packages("tidyverse", dep=T)
A. 付録
plotの文字が豆腐になる
plotの日本語がうまく出ないという問題です.この問題は.Rprofile
の設定が適切でないために発生します.
-
.Rprofile
を作成しましょう. - 以下のようなファイルを作成してホームディレクトリ(
~
)の直下に.Rprofile
という名前で保存する.
.Rprofile
の中身は以下のとおり.
setHook(packageEvent("grDevices", "onLoad"),
function(...){
if(.Platform$OS.type == "windows")
grDevices::windowsFonts(sans ="MS Gothic",
serif="MS Mincho",
mono ="FixedFont")
if(capabilities("aqua"))
grDevices::quartzFonts(
sans =grDevices::quartzFont(
c("Hiragino Kaku Gothic Pro W3",
"Hiragino Kaku Gothic Pro W6",
"Hiragino Kaku Gothic Pro W3",
"Hiragino Kaku Gothic Pro W6")),
serif=grDevices::quartzFont(
c("Hiragino Mincho Pro W3",
"Hiragino Mincho Pro W6",
"Hiragino Mincho Pro W3",
"Hiragino Mincho Pro W6")))
if(capabilities("X11"))
grDevices::X11.options(
fonts=c("-kochi-gothic-%s-%s-*-*-%d-*-*-*-*-*-*-*",
"-adobe-symbol-medium-r-*-*-%d-*-*-*-*-*-*-*"))
grDevices::pdf.options(family="Japan1GothicBBB")
grDevices::ps.options(family="Japan1GothicBBB")
}
)
attach(NULL, name = "JapanEnv")
assign("familyset_hook",
function() {
winfontdevs=c("windows","win.metafile",
"png","bmp","jpeg","tiff","RStudioGD")
macfontdevs=c("quartz","quartz_off_screen","RStudioGD")
devname=strsplit(names(dev.cur()),":")[[1L]][1]
if ((.Platform$OS.type == "windows") &&
(devname %in% winfontdevs))
par(family="sans")
if (capabilities("aqua") &&
devname %in% macfontdevs)
par(family="sans")
},
pos="JapanEnv")
setHook("plot.new", get("familyset_hook", pos="JapanEnv"))
setHook("persp", get("familyset_hook", pos="JapanEnv"))
CSVファイルの読み込み
read.csv()
関数でCSVファイルを読み込む場合はfileencoding
オプションにてfileencoding="sjis"
のように指定すれば良い
Rdataファイルについて
sjis環境で作成されたRdataファイルは中に日本語を含んでいると文字化けする.
詳しくはこの記事を参照のこと.
R 4.0.0がリリースされた
R 4.0.0だと,Personal Libraryのデフォルトが次のようになっているため,OneDriveの同期のエラーは発生しませんでした.
旧バージョンのRは次のリンクからダウンロード可能です.
Windows
https://cran.r-project.org/bin/windows/base/old/
Mac OS
https://cran.r-project.org/bin/macosx/el-capitan/base/
Windows 11でうまく描画がされない
下記のリンクの通りに描画方法を変更するとうまくいくらしい.