mofoolog

再検索を省きたいから書いてるログ

高速なR+RStudioの環境構築(ArchLinux)

f:id:mofoolog:20160307035523j:plain

RのArchLinuxでの導入手順はR-Archwikiの通り行って(MKL無しOpenBLAS使用)いたが、MKLを導入したいと思っていた。Anaconda(Python)だとインストールすればMKLは自動的に使える。RでもMKLを使うのにわざわざintel登録やらインストールやら管理をしなくても済むものは無いものかと調べたら「Microsoft R Open」が見付かった。

早速以下でRとRStudioの詳細な設定手順を残しておく。

目次

Rのインストールと設定


Rのインストール時にFortranコンパイル、及びMKLでマルチコア、最適化された動作(ライブラリによって異なる)するので高速なR環境が提供される。

Rのインストール

R(microsoft-r-open)とMKL(revomath)をインストールするコマンド。

gcc-fortranなども必要だが、下記コマンドを実行すれば必要なものも自動でインストールするので気にせず実行。

$ yaourt -S microsoft-r-open revomath

# jdkは8にした
#==> microsoft-r-open に欠けている依存パッケージをインストールあるいはビルド:
#:: 2 個の選択肢が java-environment にはあります:
#:: リポジトリ extra
#   1) jdk7-openjdk  2) jdk8-openjdk
#数字を入力してください (デフォルト=1): 2 [Enter]

# 衝突するパッケージの確認
#:: revomath と microsoft-r-open-blas が衝突しています。microsoft-r-open-blas
#を削除しますか? [y/N] y
  • インストールディレクトリは/usr/lib/MRO-◯.◯.◯(◯.◯.◯はバージョンNo)

  • 既にシンボリックリンクが貼られPathは通っているのでTerminalでRと入力で起動する

  • 起動すると「BLAS+Lapack」が起動する事とMKLによって使用するプロセッサーのCoreスレット数が見て取れる

  • スレット数の確認コマンドgetMKLthreads()、スレット数の変更コマンドsetMKLthreads(value)(valueは使うスレット数を入力)

  • Rの終了はq("no")で終了する

 

Rの設定各種

起動メッセージを非表示

Rの起動メッセージを非表示にするにはTerminalでR --quietと入力すればよい。

面倒なので.bashrcに下記コードを登録しTerminalに「r」と入力すれば起動メッセージ無しでRを起動できるようにする。

#------------------------------------------------------------
# start command of R
#------------------------------------------------------------

alias r='R --quiet'

更に細かく設定

このままだと、様々なファイルが様々な場所に作成される結果と成り得る。Rの構成は少しややこしいが、下記手順で決まったディレクトリに決まったファイルを置けるよう設定しておく。(以下は参考で)

  • 決定しておくファイルとディレクトリの位置 ↓
export ディレクトリ位置 ファイルorディレクトリ
R_HOME_USER /usr/bin/ R
R_PROFILE_USER ${HOME}/.config/R/ Rprofile.r
R_LIBS_USER ${HOME}/.config/R/ checkpoint
R_HISTFILE ${HOME}/.config/R/ .Rhistory
R_DEFAULT_PACKAGES /usr/lib/MRO-◯.◯.◯/R-◯.◯.◯/lib64/R/library/ 'datasets,utils,grDevices,graphics,stats,methods'
working_directory ~/addfun/r .RData & .Rファイル等

その他設定する場合

MYSQL_HOME = /var/lib/mysqlなど

  • ~/.configディレクトリ内にRディレクトリを作成

  • 作成したRディレクトリ内にRprofile.rファイルを新規作成し下記コードを入力保存

  • 作成したRディレクトリ内にcheckpointディレクトリを新規作成(ライブラリインストール用ディレクトリ)

setwd("~/addfun/r")
.First <- function(){
    #welcome message
    message("Welcome back ", Sys.getenv("USER"),"!\n","working directory is:", getwd())
}
# options(prompt = paste(paste (Sys.info () [c ("user", "nodename")], collapse = "@"),"[R] "))
options(prompt = paste("> "))
options(digits = 7)
options(stringsAsFactors = FALSE)
options(show.signif.stars = FALSE)
# error = quote(dump.frames("${R_HOME_USER}/testdump", TRUE))

※「setwd()」のカッコ内に表のworking directoryのPATHを入力する。

  • ~/ディレクトリ内に.Renvironファイルを新規作成し下記コードを入力保存
R_HOME_USER = /usr/bin/
R_PROFILE_USER = ${HOME}/.config/R/Rprofile.r
R_HISTFILE = ${HOME}/.config/R/.Rhistory
R_LIBS_USER = '${HOME}/.config/R/checkpoint'
R_DEFAULT_PACKAGES = 'datasets,utils,grDevices,graphics,stats,methods'
## MYSQL_HOME = /var/lib/mysql

以下画像のように使えるようになる。

f:id:mofoolog:20160306214516p:plain:w600

 

RStudioのインストール


RStudioのインストール

下記コマンドを実行しRStudioの安定版をインストールする。

$ yaourt -S rstudio-desktop-bin

Rとの連携は何もしなくてもできている。

 

RStudioの起動

「メニュー」→「プログラミング」→「RStudio」で起動。

起動メッセージは出てきてしまうが、「Ctrl + L」で画面を全クリアできる。

 

基本的な設定

「Tools」→「Global Options...」で実施

 

最後に


f:id:mofoolog:20160307025837p:plain:w600

インストールした後に以下の記事を見つけた。

海外ではかなりメジャーなのですね!

それから、先日Twitterのアンケート機能で「どのRを使っていますか?」というアンケートを実施してみたので結果を貼っておきます。

結果はR Project.orgの圧勝っぽいですが、細かい部分は質問してないですしサンプル数も少ない(ボクには精一杯(汗))ので「だから何?」という感じですが、とても楽しめるものでした。投票いただいた方々、RTやFavをしていただいた方々、本当にありがとうございました。