R

提供: ArchWiki
2015年9月9日 (水) 12:50時点におけるKusakata (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

関連記事

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.getlocaleSys.localeconv 関数によってアクセスされます。ロケールはシステムで定義したロケールになります。

R セッションを起動するには、ターミナルを開いて次のコマンドを入力してください:

$ R
ノート:
  • Use Shift+u for the command (some terminals use the r letter to repeat the last entered command). Once in your R session, the prompt will change to >
  • site refers to system-wide in R Documentation

システムファイルの設定についてのドキュメントを読むには ??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 のうるさい起動メッセージが煩わしいのであれば、--quiet コマンドラインオプションを使って R を起動しましょう: $ R --quietスタートアップファイルalias R ="R --quiet" と設定することもできます。
  • 設定ファイルで定義をしないかぎり、R は $HOME ディレクトリで起動します。特定のディレクトリで起動させたい場合、まずディレクトリを作成してください:
$ R
> setwd("path/to/your/directory")
> q()
Save workspace image? [y/n/c]: y

R は現在の環境の .RData イメージファイルを作成します。このファイルをダブルクリックすると、R は自動的に作業ディレクトリをこのファイルのディレクトリに変更します。

  • コンソールのカラー出力:
> download.file("http://www.lepem.ufc.br/jaa/colorout_1.0-3.tar.gz", destfile = "colorout_1.0-3.tar.gz")
> install.packages("colorout_1.0-3.tar.gz", type = "source", repos = NULL)

変数

環境変数について言えば、R は分かりづらいところがあります。非常に量があり siteuser で重複しているからです。スタートアップで使われるファイルは2種類あります: $R_ENVIRON によって定義される環境ファイルと、$R_PROFILE によって定義されるプロファイルファイルです。

重要な変数は Environment Variables R Documentation で説明されています。

R_ENVIRON

起動時に、まず Rsiteuser.Renviron ファイルを検索して環境変数の設定を行います。site ファイルは /etc/R に存在し、configure によって生成されます。

ユーザーファイルの名前は R_ENVIRON_USER 環境変数で指定することが可能です。ファイルを指定しなかった場合、R はホームディレクトリ内の .Renviron を自動的に読み取ります。他の場所を使いたい場合は、export R_ENVIRON_USER ="path/to/.Renviron"スタートアップファイルに記述してください。R syntax を使って全ての環境変数を設定する場所になります。

R_PROFILE

その後 RR_PROFILE 環境変数によって定義される siteRprofile.site を検索します。インストールしただけではこのファイルは存在しません。最後に、RuserR_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)
ヒント: 起動時に大量のパッケージをロードしている場合、R セッションからのパッケージのアップグレードはすぐに苦痛になるでしょう。アップグレードするパッケージは、ロードされていない状態である必要があります。次のようにして R セッションを新しく起動して: R --vanilla それからアップグレードを実行すると良いでしょう。

シェルから

まず、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つのユーザー設定ファイル .RenvironRprofile.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 はオープンソースのフロントエンドです。データのインポートや閲覧、一般的な統計テストやプロットなどができます。AURrkwardAUR でインストールが可能です。

RStudio IDE

RStudio はオープンソースの R IDE です。括弧のマッチングやタブ補完、ツールチップヘルプ、エクセルのようなデータビューアなど便利な機能が沢山入っています。

AUR から rstudio-desktop-binAUR (Rstudio プロジェクトウェブサイトのバイナリ版) か rstudio-desktop-gitAUR (開発版) をインストールしてください。

R ライブラリのパスは R_LIBS 環境変数で設定しますが、RStudio はこれを無視します。そのため、上述のように ~/.RenvironR_LIBS_USER を設定する必要があります。

Rstudio サーバー

RStudio Server enables you to provide a browser based interface to a version of R running on a remote Linux server.

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 を扱うことができます。

最適化されているパッケージ

R に付属しているライブラリ (blas, LAPACK) の多くはマルチスレッドに対応していません。リファレンスの blas パッケージを最適化された BLAS に置き換えることで、R における計算速度が劇的に向上します。ただし最適化された BLAS パッケージは全て何らかの欠点を持っています。例えば商用ライセンスが必要だったり、標準の R の並列処理と干渉する可能性があります。本当に高速な線形代数が R で必要な場合にのみ、以下のオプションを使ってみて下さい。

OpenBLAS

openblasAURAUR からインストールすることができ、extra に含まれているリファレンスの blas を置き換えます。extra に含まれている標準の r パッケージを使用している場合、特別な設定は必要ありません。R はシステムの BLAS を使うように設定されており、OpenBLAS がインストールされている場合、OpenBLAS を使用します。

Intel mkl

使用しているプロセッサが Intel 製の場合Intel math Kernel Library を使用することを強く推奨します。MKL はマルチスレッド対応というだけでなく、Intel プロセッサ専用の最適化が行われており、伝統的なライブラリと比べて圧倒的なパフォーマンスを発揮します。

最初に AUR から intel-mklAUR パッケージをインストールして、それから r-mklAUR パッケージをインストールしてください。

ノート:
  • r-mklAURR をインストールした場合、R を削除するように表示されます。r-mkl をインストールしたら、R のコンソールで次のコマンドを実行してください: > update.packages(checkBuilt=TRUE)
  • here are elapsed time in sec from computing 15 tests with default GCC build and icc/MKL build: 274.93 sec for GCC build, 21.01 sec for icc/MKL build. See this post for more information.

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[リンク切れ: アーカイブ: aur-mirror] 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

ノート: this package will install the above described intel-mkl

参照

  • RSeek A search engine for R related material.