R

提供: ArchWiki
2024年7月10日 (水) 20:43時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (校正(でき・出来))
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

関連記事

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

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

$ R
ノート:
  • コマンドを実行するには Shift+u を使います (ターミナルによっては r で最後に入力したコマンドが再度実行されます)。R のセッションに入ると、プロンプトが > に変わります。
  • R のドキュメントにおいて sitesystem-wide を意味します。

システムファイルの設定についてのドキュメントを読むには ??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/vimr/colorout_1.1-1.tar.gz", destfile = "colorout_1.1-1.tar.gz")
> install.packages("colorout_1.1-1.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(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)
ヒント: 起動時に大量のパッケージをロードしている場合、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 <- Sys.getenv("R_LIBS_USER")

update.packages(repos=repos, ask=FALSE, lib.loc=lib.loc)

適当な場所に上記のスクリプトを配置して実行可能属性を付与してください。もちろん、リポジトリの URL やライブラリの場所は自由に変更できます。

警告: zsh を使用する場合、内蔵コマンドとして r が存在します。明示的にパスを指定するか (/usr/bin/r) あるいは別の名前でエイリアスを作成してください。

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

RStudio IDE

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

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

R ライブラリのパスは R_LIBS 環境変数で設定しますが、RStudio はこれを無視します。そのため、上述のように ~/.RenvironR_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

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

Intel MKL

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

最初に AUR から intel-mkl パッケージをインストールして、それから 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-advisor-xe

intel-advisor はアプリケーションの性能を最大限引き出す C, C++, Fortran コンパイラ, ライブラリ, 解析ツールのセットです。

intel-advisor-xeAUR[リンク切れ: パッケージが存在しません] パッケージをインストールしてください。

参照

  • RSeek R 関連のマニュアルの検索エンジン。