R
関連記事
R は統計計算やグラフィック用のフリーのソフトウェア環境です (http://www.r-project.org/ )。
インストール
基本パッケージ
公式リポジトリの r パッケージをインストールしてください。
Fortran でコンパイルするには他にもパッケージが必要です。gcc-fortran をインストールすると良いでしょう。
初期設定
起動プロセスについて詳しく知りたい場合は Initialization at Start of an R Session を参照してください。R
のインストール環境のホームディレクトリは usr/bin/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(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 <- "/usr/local/lib/R/site-library" update.packages(repos=repos, ask=FALSE, lib.loc=lib.loc)
適当な場所に上記のスクリプトを配置して実行可能属性を付与してください。もちろん、リポジトリの URL やライブラリの場所は自由に変更できます。
設定ファイル
ホームフォルダで使用する2つのユーザー設定ファイル .Renviron
と Rprofile.r
があります。$HOME
ディレクトリを出来るだけ乱雑にしたくない場合、~/.config/r
ディレクトリを作成して Rprofile.r
ファイルをディレクトリのルートに配置してこのファイルをあなたの R
のコードに追加すると良いでしょう。
.Renviron
Lines in Renviron
file should be either comment lines starting with # or lines of the form name=value.Here is a very basic .Renviron
you can start with:
.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
For convenient reasons, you can put a specific Rprofile.r
in each of your usual working directories. One facility would be to dedicate one directory per project, with its specific profile. When R
will change to the working directory, it will then read the Rprofile.r
file inside it.
Here is a very short list of useful options and code:
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
You can add more global options to customize your R
environment.
See this post for more user configurations.
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
を設定する必要があります。
Rstudio サーバー
RStudio Server enables you to provide a browser based interface to a version of R running on a remote Linux server.
Install rstudio-server-gitAUR. The two main configuration files are /etc/rstudio/rserver.conf
and /etc/rstudio/rsession.conf
. They are not created during the install, so you will need to create and edit them. For information about configure options, please refer to rstudio getting started documentation.
サーバーを起動するには、パッケージに含まれている rstudio-server.service
ユニットファイルを起動・有効化してください。
Emacs Speaks Statistics
emacs ユーザーは AUR の emacs-essAUR パッケージを使って R を扱うことができます。
最適化されているパッケージ
R に付属しているライブラリ (blas, LAPACK) の多くはマルチスレッドに対応していません。リファレンスの blas パッケージを最適化された BLAS に置き換えることで、R における計算速度が劇的に向上します。ただし最適化された BLAS パッケージは全て何らかの欠点を持っています。例えば商用ライセンスが必要だったり、標準の R の並列処理と干渉する可能性があります。本当に高速な線形代数が 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-parallel-studio-xe
intel-parallel-studio delivers top application performance with C, C++ and Fortran compilers, libraries and analysis tools.
First, install the intel-parallel-studio-xeAUR[リンク切れ: package not found] package. You may need to login again for /etc/profile.d/intel_compilers.sh to be loaded (so the compiler bin is in the PATH). Then, modify the r-mklAUR PKGBUILD
file with appending these lines in the build()
section:
# please refer to the intel-parallel-studio-xe package version for path _omplibpath=/opt/intel/${_parallel_studio_xe_dir}/compiler/lib/${_intel_arch} export LD_LIBRARY_PATH=${_mkllibpath}:${_omplibpath} ..................................................... # Build the package using the icc compiler export CC="icc" export CXX="icpc" export AR="xiar" export LD="xild" export CFLAGS="-O3 -ipo -openmp -xHost" export CXXFLAGS="-O3 -ipo -openmp -xHost" make
参照
- RSeek A search engine for R related material.