R
関連記事
R は統計計算やグラフィック用のフリーのソフトウェア環境です。
目次
インストール
基本パッケージ
公式リポジトリの r パッケージをインストールしてください。
Fortran でコンパイルするには他にもパッケージが必要です。gcc-fortran をインストールすると良いでしょう。
初期設定
起動プロセスについて詳しく知りたい場合は Initialization at Start of an R Session を参照してください。R
のインストール環境のホームディレクトリは /usr/lib/R
です。ベースパッケージは /usr/lib/R/library/base
に、site 設定ファイルは /etc/R/
に存在します。ロケールが R
セッションの中で Sys.getlocale
と Sys.localeconv
関数によってアクセスされます。ロケールはシステムで定義したロケールになります。
R
セッションを起動するには、ターミナルを開いて次のコマンドを入力してください:
$ R
システムファイルの設定についてのドキュメントを読むには ??Startup
を実行して下さい。help()
を実行するとオンラインヘルプが、help.start()
を実行するとヘルプの HTML ブラウザインターフェイスが、demo()
を実行するとデモを見ることができます。q()
を実行するとセッションを閉じて終了します。
セッションを終了すると、以下のように表示されます: Save workspace Image ?[y/n/c]
。workspace は現在の作業環境であり、ユーザーが定義したオブジェクトや関数が全て含まれます。セーブしたイメージは .RData
形式で保存され、次回 R
を起動した時に自動的にリロードされます。ワークスペースはいつでも save.image(image.RData)
コマンドで手動で保存することができ、いくらでもイメージを作成することができます (例: image1.RData, image2.RData)。イメージは load.image(image.RData)
コマンドでロードできます。
変数
環境変数について言えば、R
は分かりづらいところがあります。非常に量があり site と user で重複しているからです。スタートアップで使われるファイルは2種類あります: $R_ENVIRON
によって定義される環境ファイルと、$R_PROFILE
によって定義されるプロファイルファイルです。
重要な変数は Environment Variables R Documentation で説明されています。
R_ENVIRON
起動時に、まず R
は site と user の .Renviron
ファイルを検索して環境変数の設定を行います。site ファイルは /etc/R
に存在し、configure によって生成されます。
ユーザーファイルの名前は R_ENVIRON_USER
環境変数で指定することが可能です。ファイルを指定しなかった場合、R
はホームディレクトリ内の .Renviron
を自動的に読み取ります。他の場所を使いたい場合は、export R_ENVIRON_USER ="path/to/.Renviron"
とスタートアップファイルに記述してください。R syntax を使って全ての環境変数を設定する場所になります。
R_PROFILE
その後 R
は R_PROFILE
環境変数によって定義される site の Rprofile.site
を検索します。インストールしただけではこのファイルは存在しません。最後に、R
は user の R_PROFILE_USER
を検索します。設定されていない場合、現在のディレクトリ (R
コマンドの > getwd()
で返ってくるディレクトリ) またはユーザーのホームディレクトリに .Rprofile
という名前のファイルがないか検索します。R
のカスタムコードを置く場所です。
R パッケージのインストール
R
にはアドオンパッケージが多数存在し、R のウェブサイト で閲覧することができます。アドオンパッケージは R
の中から install.packages(c("pkgname"))
コマンドを使うことでインストールできます。R
はパッケージをユーザーごとのローカル設定でローカルにインストールすることも、システム全体にインストールすることもできます。
R
セッションの中から、次のコマンドを実行してユーザーライブラリが存在すること、正しく設定されていることを確認してください:
> Sys.getenv("R_LIBS_USER")
[1] "/path/to/directory/R/packages"
R
セッションからのインストールが一番安全で pacman のパッケージ管理と衝突することがありませんが、他の方法でパッケージをインストールすることもできます。ターミナルで次のコマンドを実行:
$ R CMD INSTALL -l $R_LIBS_USER pkg1 pkg2 ...
R パッケージのアップグレード
R セッションから
> update.packages(ask=FALSE)
もしくは、古いバージョン用にビルドされたパッケージを再ビルドする必要がある場合:
> update.packages(ask=FALSE,checkBuilt=TRUE)
シェルから
まず、Arch User Repository から littlerAUR をインストールしてください。このパッケージをインストールすると R のコマンドを直接実行できるようになり、スクリプトフロントエンドのように使えます。また、dirk.eddelbuettel のウェブサイトに littler の情報が載っています。以下はパッケージのアップデートを実行するスクリプトです:
#!/usr/bin/env r # # a simple example to update packages in /usr/local/lib/R/site-library # parameters are easily adjustable repos <- "http://cran.rstudio.com" lib.loc <- Sys.getenv("R_LIBS_USER") update.packages(repos=repos, ask=FALSE, lib.loc=lib.loc)
適当な場所に上記のスクリプトを配置して実行可能属性を付与してください。もちろん、リポジトリの URL やライブラリの場所は自由に変更できます。
R のアップグレードと同時に自動でアップグレード
R のバージョンが変わると R のパッケージが動作しなくなる可能性があります。以下の pacman フックを使うことで R がアップグレードされたときに必要に応じて自動的にパッケージをアップグレード・リビルドできます:
/etc/pacman.d/hooks/r-upgrade.hook
[Trigger] Operation = Upgrade Type = Package Target = r [Action] Description = Updates R packages and rebuilds them if necessary after R upgrade # Depends is optional if this should depend on another package Depends = When = PostTransaction Exec = Rscript -e 'update.packages(checkBuilt = TRUE, ask = FALSE)'
設定ファイル
ホームフォルダで使用する2つのユーザー設定ファイル .Renviron
と Rprofile.r
があります。$HOME
ディレクトリを出来るだけ乱雑にしたくない場合、~/.config/r
ディレクトリを作成して Rprofile.r
ファイルをディレクトリのルートに配置してこのファイルをあなたの R
のコードに追加すると良いでしょう。
.Renviron
Renviron
ファイルに記述できるのは冒頭が # のコメント行か、name=value という形式の行だけです。以下はベーシックな .Renviron
の例です:
.Renviron
R_HOME_USER = /path/to/your/r/directory R_PROFILE_USER = ${HOME}/.config/r/Rprofile.r R_LIBS_USER = /path/to/your/r/library R_HISTFILE = /path/to/your/filename.Rhistory # Do not forget to append the .Rhistory R_DEFAULT_PACKAGES = 'datasets,utils,grDevices,graphics,stats,methods,rJava,colorout' # load some default packages at start up MYSQL_HOME = /var/lib/mysql
Rprofile.r
作業ディレクトリの中に Rprofile.r
を配置することで利便性を高めることができます。特定のプロファイルを使うことで、プロジェクトのディレクトリごとに専用の設定ができます。R
で作業ディレクトリに移動すると、ディレクトリ内の Rprofile.r
ファイルが読み込まれます。
以下は有用なオプションやコードの簡単なリストです:
Rprofile.r
setwd("path/to/startup/directory") # define a start up working directory .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] ")) # customize your R prompt with username and hostname in this format: user@hostname [R] options(digits = 12) # number of digits to print. Default is 7, max is 15 options(stringsAsFactors = FALSE) options(show.signif.stars = FALSE) error = quote(dump.frames("${R_HOME_USER}/testdump", TRUE)) # post-mortem debugiging facilities
グローバルなオプション を追加することで R
環境をカスタマイズできます。他のユーザーの設定は こちら を参照。
R にグラフィカルフロントエンドを追加
R の linux 版にはグラフィカルユーザーインターフェイスが含まれていません。しかしながら、R commander や RKWard といった、サードパーティ製の R のユーザーインターフェイスを利用することができます。
R Commander フロントエンド
R Commander は人気のある R ユーザーインターフェイスです。R Commander をインストールするための Arch Linux パッケージは存在しませんが、R パッケージなので R の中から簡単にインストールすることができます。R Commander を使うには tk をインストールする必要があります。
R Commander をインストールするには、コマンドラインから 'R' を実行して、次を入力してください:
> install.packages("Rcmdr", dependencies=TRUE)
しばらく時間がかかります。
library コマンドを使って R の中から R Commander を起動できます:
> library("Rcmdr")
RKWard フロントエンド
RKWard はオープンソースのフロントエンドです。データのインポートや閲覧、一般的な統計テストやプロットなどができます。AUR の rkwardAUR でインストールが可能です。
RStudio IDE
RStudio はオープンソースの R IDE です。括弧のマッチングやタブ補完、ツールチップヘルプ、エクセルのようなデータビューアなど便利な機能が沢山入っています。
AUR から rstudio-desktop-binAUR (Rstudio プロジェクトウェブサイトのバイナリ版) か rstudio-desktop-gitAUR (開発版) をインストールしてください。
R ライブラリのパスは R_LIBS
環境変数で設定しますが、RStudio はこれを無視します。そのため、上述のように ~/.Renviron
で R_LIBS_USER
を設定する必要があります。
エディタ IDE や R に対応しているノートブック
Rstudio サーバー
RStudio Server はリモートの Linux サーバーで動作している R をブラウザから操作できるインターフェイスを提供します。
rstudio-server-gitAUR をインストールしてください。/etc/rstudio/rserver.conf
と /etc/rstudio/rsession.conf
がメインの設定ファイルです。インストールするだけでは作成されないので、自分で作成・編集してください。設定オプションに関する詳細は rstudio getting started ドキュメントを参照。
サーバーを起動するには、パッケージに含まれている rstudio-server.service
ユニットファイルを起動・有効化してください。
Emacs Speaks Statistics
emacs ユーザーは AUR の emacs-essAUR パッケージを使って R を扱うことができます。
Nvim-R
vim や neovim のユーザーは nvim-rAUR パッケージで R でのコーディングができます。R markdown (Rmd) ファイルの編集やレンダリング、別のペインでの R コードの実行、変数の調査、ヘルプペインの統合など。
Cantor
cantor は KDE によって開発されているノートブックアプリケーションで、R に対応しています。
Jupyter ノートブック
jupyter-notebook は多数のプログラミング言語に対応しているブラウザベースのノートブックです。IRkernel をインストールすることで R のサポートを追加できます。
最適化されているパッケージ
R に付属しているライブラリ (blas, LAPACK) の多くはマルチスレッドに対応していません。リファレンスの blas パッケージを最適化された BLAS に置き換えることで、R における計算速度が劇的に向上します。ただし最適化された BLAS パッケージは全て何らかの欠点を持っています。例えば商用ライセンスが必要だったり、標準の R の並列処理と干渉する可能性があります [1]。本当に高速な線形代数が R で必要な場合にのみ、以下のオプションを使ってみて下さい。
OpenBLAS
openblasAUR は AUR からインストールすることができ、extra に含まれているリファレンスの blas を置き換えます。extra に含まれている標準の r パッケージを使用している場合、特別な設定は必要ありません。R はシステムの BLAS を使うように設定されており、OpenBLAS がインストールされている場合、OpenBLAS を使用します。
Intel MKL
使用しているプロセッサが Intel 製の場合、Intel math Kernel Library を使用することを強く推奨します。MKL はマルチスレッド対応というだけでなく、Intel プロセッサ専用の最適化が行われており、伝統的なライブラリと比べて圧倒的なパフォーマンスを発揮します。
最初に AUR から intel-mklAUR パッケージをインストールして、それから r-mklAUR パッケージをインストールしてください。
intel-advisor-xe
intel-advisor はアプリケーションの性能を最大限引き出す C, C++, Fortran コンパイラ, ライブラリ, 解析ツールのセットです。
intel-advisor-xeAUR[リンク切れ: package not found] パッケージをインストールしてください。
参照
- RSeek R 関連のマニュアルの検索エンジン。