5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Rでの分析環境構築

Last updated at Posted at 2020-02-23

猫も杓子も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. 下図の1〜3の順番にOneDriveの設定を開く.
    タスクバーのOneDriveアイコン>その他>設定
スクリーンショット
  1. 下図のとおり「バックアップ」タブの「バックアップを管理」を開く
スクリーンショット
  1. 設定画面のドキュメント部分を確認して
    ファイルはバックアップされました」と書いてあればOneDriveと連携されている.
スクリーンショット

解決方法

解決方法1

一番単純な方法(OneDriveバックアップ機能を用いていないのであればおすすめ)

ドキュメントのバックアップをやめる
「バックアップの停止」をクリックしてOneDriveとの連携を解除
スクリーンショット

解決方法2

Rを管理者権限にて実行

パッケージをインストールする際に管理者権限でRStudioを起動すれば良い.
PCのユーザ全員のRに影響を与えてしまうので,それをわかった上で実行する必要がある.
スクリーンショット

解決方法3

環境変数R_LIBS_USERに場所を記述
環境変数R_USER, HOMEの場所を指定し直す
(OneDriveバックアップに対応したまま使うことができるが,今後のバージョンアップなどでどうなるかわからないので,これをやるときは注意,そして,環境変数HOMEを追加するので,他のプログラムに影響を及ぼす可能性があるので注意.)

これは管理者権限を持っていなくてもどうにかできる.

  1. ドキュメントフォルダの中にパッケージインストール場所を作成する.
    C:/ユーザー/[ユーザ名]/Documentsというフォルダの中に「R」という空フォルダを作り,「R」フォルダの中に「win-library」というからフォルダを作る.
    作ったフォルダのpathがC:/ユーザー/[ユーザ名]/Documents/R/win-libraryであれば良い.
スクリーンショット
  1. 「システム環境変数の編集」を開く
    スタートメニューでpathと検索すれば出てくる.
スクリーンショット
  1. 環境変数を開く

  2. ユーザ環境変数に「R_LIBS_USER」を追加
    ユーザ環境変数に「HOME」「R_USER」を追加
    「新規」を押して,変数名に「R_LIBS_USER」,変数値に上で作成したフォルダのパスを記入してOKを押す.

HOME, R_USERは両方とも

C:\Users\[Username]\Documents

に指定すればよい.

スクリーンショット

Rで次のコマンドを用いることで設定を確認可能.

Sys.getenv()

この解決法の参考ページ
管理者権限のないユーザで環境変数を変更する方法

日本語のユーザ名で使っている場合

  • 発生しうる問題:RStudioが立ち上がらない

Microsoftアカウントでログインしている場合,問題はないが,オフラインアカウントを使っている場合には問題が発生することがある.

確認方法

設定>アカウントを開く

ユーザの情報のアイコンの下が「てすとゆーざ」のように日本語表記されている場合は,ユーザ名が日本語(雑な仮想環境を用意しているので,ライセンス認証していない)

スクリーンショット 2020-02-23 16.05.22.png

ほかには,デスクトップにできてるショートカットのプロパティを見るところからでも確認できる.
スクリーンショット 2020-02-23 20.08.43.png

こんなように日本語を含んでいるとうまくいかない.

解決方法

RStudioを利用するために新規ユーザを作成する.
Windows 10 でローカルのユーザー アカウントまたは管理者アカウントを作成するのページの「ローカル ユーザー アカウントを作成する」を参考に,日本語を含まないユーザーを作成し,そのユーザーアカウントを使ってRStudioを利用しましょう.

1. R, RStudioのインストール

下記のリンクからダウンロードをし,基本的には初期設定のままインストールすれば良い.

  • R
    • こちらのリンクからダウンロード
  • R tools
    • こちらのリンクからダウンロード
    • R toolsはrecommendedをインストールすれば良い.
  • RStudio
    • こちらのリンクからダウンロード
    • Windows版を選択してダウンロードする.

2. RMarkdownの作成

RStudioのファイルメニューから
File>New>R Notebookを開く.
スクリーンショット 2020-02-23 23.55.10.png

初回はパッケージのインストールに関するダイアログが出るのでYesを押してインストールする.
スクリーンショット 2020-02-23 23.55.35.png

するとインストールが始まる.
スクリーンショット 2020-02-23 23.55.53.png

インストールが完了したら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のインストール

  • Xquartz
    • こちらのリンクからダウンロード
  • R
    • こちらのリンクからダウンロード
  • R tools
    • こちらのリンクからダウンロード

2. RMarkdownの作成

Windowsと同じようにFile>New>R Markdown...を開くとしていけばよい.
スクリーンショット 2020-03-06 14.23.53.png

3. RCmdr, tidyverseのインストール

RStudioをを起動してコンソール画面に下記のコマンドを実行する.

RCommanderのインストール

RCommanderのインストールは次のコマンドを実行すれば良い.
一部のパッケージはソースからインストールするか聞かれるが,Noと答えれば良い.

install.packages("Rcmdr", dep=T)

tidyverseのインストール

tidyverseのインストールは次のコマンドを実行すれば良い.
一部のパッケージはソースからインストールするか聞かれるが,Noと答えれば良い.

install.packages("tidyverse", dep=T)

A. 付録

plotの文字が豆腐になる

plotの日本語がうまく出ないという問題です.この問題は.Rprofileの設定が適切でないために発生します.

例えば,下の画像のようになってしまいます.
スクリーンショット 2020-04-11 16.42.34.png

  • .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の同期のエラーは発生しませんでした.
スクリーンショット 2020-04-25 5.33.25 2.png

旧バージョンの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でうまく描画がされない

下記のリンクの通りに描画方法を変更するとうまくいくらしい.

5
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?