「R」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(カテゴリを変更)
 
(3人の利用者による、間の8版が非表示)
1行目: 1行目:
[[Category:計算と科学]]
+
[[Category:科学]]
 
[[Category:プログラミング言語]]
 
[[Category:プログラミング言語]]
 
[[en:R]]
 
[[en:R]]
5行目: 5行目:
 
{{Related|Intel C++}}
 
{{Related|Intel C++}}
 
{{Related articles end}}
 
{{Related articles end}}
''R は統計計算やグラフィック用のフリーのソフトウェア環境です'' (http://www.r-project.org/ )
+
[http://www.r-project.org/ R] は統計計算やグラフィック用のフリーのソフトウェア環境です。
   
 
== インストール ==
 
== インストール ==
16行目: 16行目:
 
=== 初期設定 ===
 
=== 初期設定 ===
   
起動プロセスについて詳しく知りたい場合は [http://stat.ethz.ch/R-manual/R-devel/library/base/html/Startup.html Initialization at Start of an R Session] を参照してください。{{ic|R}} のインストール環境のホームディレクトリは {{ic|usr/bin/R}} です。ベースパッケージは {{ic|/usr/lib/R/library/base}} に、'''site''' 設定ファイルは {{ic|/etc/R/}} に存在します。[[ロケール]]が {{ic|R}} セッションの中で {{ic|Sys.getlocale}} と {{ic|Sys.localeconv}} 関数によってアクセスされます。ロケールはシステムで定義したロケールになります。
+
起動プロセスについて詳しく知りたい場合は [http://stat.ethz.ch/R-manual/R-devel/library/base/html/Startup.html Initialization at Start of an R Session] を参照してください。{{ic|R}} のインストール環境のホームディレクトリは {{ic|/usr/lib/R}} です。ベースパッケージは {{ic|/usr/lib/R/library/base}} に、'''site''' 設定ファイルは {{ic|/etc/R/}} に存在します。[[ロケール]]が {{ic|R}} セッションの中で {{ic|Sys.getlocale}} と {{ic|Sys.localeconv}} 関数によってアクセスされます。ロケールはシステムで定義したロケールになります。
   
 
{{ic|R}} セッションを起動するには、ターミナルを開いて次のコマンドを入力してください:
 
{{ic|R}} セッションを起動するには、ターミナルを開いて次のコマンドを入力してください:
 
$ R
 
$ R
 
{{Note|
 
{{Note|
  +
* コマンドを実行するには {{ic|Shift+u}} を使います (ターミナルによっては {{ic|r}} で最後に入力したコマンドが再度実行されます)。{{ic|R}} のセッションに入ると、プロンプトが {{ic|>}} に変わります。
* Use {{ic|Shift+u}} for the command (some terminals use the {{ic|r}} letter to repeat the last entered command). Once in your {{ic|R}} session, the prompt will change to {{ic|>}}
 
* '''site''' refers to '''system-wide''' in R Documentation}}
+
* R のドキュメントにおいて '''site''' '''system-wide''' を意味します。}}
 
システムファイルの設定についてのドキュメントを読むには {{ic|??Startup}} を実行して下さい。{{ic|help()}} を実行するとオンラインヘルプが、{{ic|help.start()}} を実行するとヘルプの HTML ブラウザインターフェイスが、{{ic|demo()}} を実行するとデモを見ることができます。{{ic|q()}} を実行するとセッションを閉じて終了します。
 
システムファイルの設定についてのドキュメントを読むには {{ic|??Startup}} を実行して下さい。{{ic|help()}} を実行するとオンラインヘルプが、{{ic|help.start()}} を実行するとヘルプの HTML ブラウザインターフェイスが、{{ic|demo()}} を実行するとデモを見ることができます。{{ic|q()}} を実行するとセッションを閉じて終了します。
   
36行目: 36行目:
 
{{ic|R}} は現在の環境の '''.RData''' イメージファイルを作成します。このファイルをダブルクリックすると、{{ic|R}} は自動的に作業ディレクトリをこのファイルのディレクトリに変更します。
 
{{ic|R}} は現在の環境の '''.RData''' イメージファイルを作成します。このファイルをダブルクリックすると、{{ic|R}} は自動的に作業ディレクトリをこのファイルのディレクトリに変更します。
 
* コンソールのカラー出力:
 
* コンソールのカラー出力:
> download.file("http://www.lepem.ufc.br/jaa/colorout_1.0-3.tar.gz", destfile = "colorout_1.0-3.tar.gz")
+
> 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.0-3.tar.gz", type = "source", repos = NULL)
+
> install.packages("colorout_1.1-1.tar.gz", type = "source", repos = NULL)
 
}}
 
}}
   
44行目: 44行目:
   
 
重要な変数は [http://stat.ethz.ch/R-manual/R-devel/library/base/html/EnvVar.html Environment Variables R Documentation] で説明されています。
 
重要な変数は [http://stat.ethz.ch/R-manual/R-devel/library/base/html/EnvVar.html Environment Variables R Documentation] で説明されています。
  +
 
====R_ENVIRON====
 
====R_ENVIRON====
 
起動時に、まず {{ic|R}} は '''site''' と '''user''' の {{ic|.Renviron}} ファイルを検索して[[環境変数]]の設定を行います。'''site''' ファイルは {{ic|/etc/R}} に存在し、configure によって生成されます。
 
起動時に、まず {{ic|R}} は '''site''' と '''user''' の {{ic|.Renviron}} ファイルを検索して[[環境変数]]の設定を行います。'''site''' ファイルは {{ic|/etc/R}} に存在し、configure によって生成されます。
53行目: 54行目:
   
 
== R パッケージのインストール ==
 
== R パッケージのインストール ==
{{ic|R}} にはアドオンパッケージが多数存在し、[http://cran.r-project.org/web/packages/available_packages_by_date.html R のウェブサイト] で閲覧することができます。アドオンパッケージは {{ic|R}} の中から {{ic|'''install.packages(''pkgname'')'''}} コマンドを使うことでインストールできます。{{ic|R}} はパッケージを'''ユーザーごとの'''ローカル設定でローカルにインストールすることも、'''システム全体'''にインストールすることもできます。
+
{{ic|R}} にはアドオンパッケージが多数存在し、[http://cran.r-project.org/web/packages/available_packages_by_date.html R のウェブサイト] で閲覧することができます。アドオンパッケージは {{ic|R}} の中から {{ic|'''install.packages(c("pkgname"))'''}} コマンドを使うことでインストールできます。{{ic|R}} はパッケージを'''ユーザーごとの'''ローカル設定でローカルにインストールすることも、'''システム全体'''にインストールすることもできます。
 
 
 
{{ic|R}} セッションの中から、次のコマンドを実行してユーザーライブラリが存在すること、正しく設定されていることを確認してください:
 
{{ic|R}} セッションの中から、次のコマンドを実行してユーザーライブラリが存在すること、正しく設定されていることを確認してください:
78行目: 79行目:
 
repos <- "http://cran.rstudio.com"
 
repos <- "http://cran.rstudio.com"
   
lib.loc <- "/usr/local/lib/R/site-library"
+
lib.loc <- Sys.getenv("R_LIBS_USER")
   
 
update.packages(repos&#61;repos, ask&#61;FALSE, lib.loc&#61;lib.loc)
 
update.packages(repos&#61;repos, ask&#61;FALSE, lib.loc&#61;lib.loc)
84行目: 85行目:
   
 
適当な場所に上記のスクリプトを配置して実行可能属性を付与してください。もちろん、リポジトリの URL やライブラリの場所は自由に変更できます。
 
適当な場所に上記のスクリプトを配置して実行可能属性を付与してください。もちろん、リポジトリの URL やライブラリの場所は自由に変更できます。
  +
  +
{{Warning|[[zsh]] を使用する場合、内蔵コマンドとして '''r''' が存在します。明示的にパスを指定するか ({{ic|/usr/bin/r}}) あるいは別の名前でエイリアスを作成してください。}}
  +
  +
==== R のアップグレードと同時に自動でアップグレード ====
  +
R のバージョンが変わると R のパッケージが動作しなくなる可能性があります。以下の pacman フックを使うことで R がアップグレードされたときに必要に応じて自動的にパッケージをアップグレード・リビルドできます:
  +
  +
{{hc|/etc/pacman.d/hooks/r-upgrade.hook|<nowiki>
  +
[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)'
  +
</nowiki>}}
   
 
==設定ファイル==
 
==設定ファイル==
89行目: 109行目:
 
ホームフォルダで使用する2つのユーザー設定ファイル {{ic|.Renviron}} と {{ic|Rprofile.r}} があります。{{ic|$HOME}} ディレクトリを出来るだけ乱雑にしたくない場合、{{ic|~/.config/r}} ディレクトリを作成して {{ic|Rprofile.r}} ファイルをディレクトリのルートに配置してこのファイルをあなたの {{ic|R}} のコードに追加すると良いでしょう。
 
ホームフォルダで使用する2つのユーザー設定ファイル {{ic|.Renviron}} と {{ic|Rprofile.r}} があります。{{ic|$HOME}} ディレクトリを出来るだけ乱雑にしたくない場合、{{ic|~/.config/r}} ディレクトリを作成して {{ic|Rprofile.r}} ファイルをディレクトリのルートに配置してこのファイルをあなたの {{ic|R}} のコードに追加すると良いでしょう。
 
===.Renviron===
 
===.Renviron===
Lines in {{ic|Renviron}} file should be either comment lines starting with '''#''' or lines of the form ''name&#61;value''.Here is a very basic {{ic|.Renviron}} you can start with:
+
{{ic|Renviron}} ファイルに記述できるのは冒頭が '''#''' のコメント行か、''name&#61;value'' という形式の行だけです。以下はベーシックな {{ic|.Renviron}} の例です:
 
{{hc|.Renviron|
 
{{hc|.Renviron|
 
R_HOME_USER &#61; /path/to/your/r/directory
 
R_HOME_USER &#61; /path/to/your/r/directory
100行目: 120行目:
   
 
===Rprofile.r===
 
===Rprofile.r===
  +
作業ディレクトリの中に {{ic|Rprofile.r}} を配置することで利便性を高めることができます。特定のプロファイルを使うことで、プロジェクトのディレクトリごとに専用の設定ができます。{{ic|R}} で作業ディレクトリに移動すると、ディレクトリ内の {{ic|Rprofile.r}} ファイルが読み込まれます。
For convenient reasons, you can put a specific {{ic|Rprofile.r}} in each of your usual working directories. One facility would be to dedicate one directory per project, with its specific profile. When {{ic|R}} will change to the working directory, it will then read the {{ic|Rprofile.r}} file inside it.
 
   
  +
以下は有用なオプションやコードの簡単なリストです:
Here is a very short list of useful options and code:
 
 
{{hc|Rprofile.r|
 
{{hc|Rprofile.r|
 
setwd("path/to/startup/directory") # define a start up working directory
 
setwd("path/to/startup/directory") # define a start up working directory
115行目: 135行目:
 
error &#61; quote(dump.frames("${R_HOME_USER}/testdump", TRUE)) # post-mortem debugiging facilities
 
error &#61; quote(dump.frames("${R_HOME_USER}/testdump", TRUE)) # post-mortem debugiging facilities
 
}}
 
}}
You can add more [http://stat.ethz.ch/R-manual/R-devel/library/base/html/options.html global options] to customize your {{ic|R}} environment.
+
[http://stat.ethz.ch/R-manual/R-devel/library/base/html/options.html グローバルなオプション] を追加することで {{ic|R}} 環境をカスタマイズできます。他のユーザーの設定は [https://stackoverflow.com/questions/1189759/expert-r-users-whats-in-your-rprofile こちら] を参照。
See this [http://stackoverflow.com/questions/1189759/expert-r-users-whats-in-your-rprofile post] for more user configurations.
 
   
 
== R にグラフィカルフロントエンドを追加 ==
 
== R にグラフィカルフロントエンドを追加 ==
135行目: 154行目:
   
 
=== RKWard フロントエンド ===
 
=== RKWard フロントエンド ===
RKWard はオープンソースのフロントエンドです。データのインポートや閲覧、一般的な統計テストやプロットなどができます。[[AUR]] の {{AUR|rkward}} でインストールが可能です。
+
RKWard はオープンソースのフロントエンドです。データのインポートや閲覧、一般的な統計テストやプロットなどができます。[[AUR]] の {{Pkg|rkward}} でインストールが可能です。
   
 
=== RStudio IDE ===
 
=== RStudio IDE ===
143行目: 162行目:
   
 
R ライブラリのパスは {{ic|R_LIBS}} 環境変数で設定しますが、RStudio はこれを無視します。そのため、上述のように {{ic|~/.Renviron}} で {{ic|R_LIBS_USER}} を設定する必要があります。
 
R ライブラリのパスは {{ic|R_LIBS}} 環境変数で設定しますが、RStudio はこれを無視します。そのため、上述のように {{ic|~/.Renviron}} で {{ic|R_LIBS_USER}} を設定する必要があります。
  +
  +
== エディタ IDE や R に対応しているノートブック ==
   
 
=== Rstudio サーバー ===
 
=== Rstudio サーバー ===
   
  +
RStudio Server はリモートの Linux サーバーで動作している R をブラウザから操作できるインターフェイスを提供します。
RStudio Server enables you to provide a browser based interface to a version of R running on a remote Linux server.
 
   
 
{{AUR|rstudio-server-git}} をインストールしてください。{{ic|/etc/rstudio/rserver.conf}} と {{ic|/etc/rstudio/rsession.conf}} がメインの設定ファイルです。インストールするだけでは作成されないので、自分で作成・編集してください。設定オプションに関する詳細は [https://support.rstudio.com/hc/en-us/articles/200552306-Getting-Started rstudio getting started] ドキュメントを参照。
 
{{AUR|rstudio-server-git}} をインストールしてください。{{ic|/etc/rstudio/rserver.conf}} と {{ic|/etc/rstudio/rsession.conf}} がメインの設定ファイルです。インストールするだけでは作成されないので、自分で作成・編集してください。設定オプションに関する詳細は [https://support.rstudio.com/hc/en-us/articles/200552306-Getting-Started rstudio getting started] ドキュメントを参照。
154行目: 175行目:
 
=== Emacs Speaks Statistics ===
 
=== Emacs Speaks Statistics ===
 
{{Pkg|emacs}} ユーザーは AUR の {{AUR|emacs-ess}} パッケージを使って R を扱うことができます。
 
{{Pkg|emacs}} ユーザーは AUR の {{AUR|emacs-ess}} パッケージを使って R を扱うことができます。
  +
  +
=== Nvim-R ===
  +
{{Pkg|vim}} や {{Pkg|neovim}} のユーザーは {{AUR|nvim-r}} パッケージで R でのコーディングができます。R markdown (Rmd) ファイルの編集やレンダリング、別のペインでの R コードの実行、変数の調査、ヘルプペインの統合など。
  +
  +
=== Cantor ===
  +
{{Pkg|cantor}} は KDE によって開発されているノートブックアプリケーションで、R に対応しています。
  +
  +
=== Jupyter ノートブック ===
  +
{{Pkg|jupyter-notebook}} は多数のプログラミング言語に対応しているブラウザベースのノートブックです。[https://github.com/IRkernel/IRkernel IRkernel] をインストールすることで R のサポートを追加できます。
   
 
== 最適化されているパッケージ ==
 
== 最適化されているパッケージ ==
R に付属しているライブラリ ({{Pkg|blas}}, LAPACK) の多くはマルチスレッドに対応していません。リファレンスの {{Pkg|blas}} パッケージを最適化された BLAS に置き換えることで、R における計算速度が劇的に向上します。ただし最適化された BLAS パッケージは全て何らかの欠点を持っています。例えば商用ライセンスが必要だったり、標準の R の並列処理と干渉する可能性があります。本当に高速な線形代数が R で必要な場合にのみ、以下のオプションを使ってみて下さい。
+
R に付属しているライブラリ ({{Pkg|blas}}, LAPACK) の多くはマルチスレッドに対応していません。リファレンスの {{Pkg|blas}} パッケージを最適化された BLAS に置き換えることで、R における計算速度が劇的に向上します。ただし最適化された BLAS パッケージは全て何らかの欠点を持っています。例えば商用ライセンスが必要だったり、標準の R の並列処理と干渉する可能性があります [http://blog.revolutionanalytics.com/2015/10/edge-cases-in-using-the-intel-mkl-and-parallel-programming.html]。本当に高速な線形代数が R で必要な場合にのみ、以下のオプションを使ってみて下さい。
   
 
=== OpenBLAS ===
 
=== OpenBLAS ===
{{AUR|openblas}} は [[AUR]] からインストールすることができ、extra に含まれているリファレンスの {{Pkg|blas}} を置き換えます。extra に含まれている標準の {{Pkg|r}} パッケージを使用している場合、特別な設定は必要ありません。R はシステムの BLAS を使うように設定されており、OpenBLAS がインストールされている場合、OpenBLAS を使用します。
+
{{Pkg|openblas}} は [[AUR]] からインストールすることができ、extra に含まれているリファレンスの {{Pkg|blas}} を置き換えます。extra に含まれている標準の {{Pkg|r}} パッケージを使用している場合、特別な設定は必要ありません。R はシステムの BLAS を使うように設定されており、OpenBLAS がインストールされている場合、OpenBLAS を使用します。
=== Intel mkl ===
+
=== Intel MKL ===
'''使用しているプロセッサが Intel 製の場合'''、[http://software.intel.com/en-us/intel-mkl Intel math Kernel Library] を使用することを強く推奨します。'''MKL''' はマルチスレッド対応というだけでなく、Intel プロセッサ専用の最適化が行われており、伝統的なライブラリと比べて圧倒的なパフォーマンスを発揮します。
+
'''使用しているプロセッサが Intel 製の場合'''、[https://software.intel.com/en-us/intel-mkl Intel math Kernel Library] を使用することを強く推奨します。'''MKL''' はマルチスレッド対応というだけでなく、Intel プロセッサ専用の最適化が行われており、伝統的なライブラリと比べて圧倒的なパフォーマンスを発揮します。
   
最初に [[AUR]] から {{AUR|intel-mkl}} パッケージをインストールして、それから {{AUR|r-mkl}} パッケージをインストールしてください。
+
最初に [[AUR]] から {{Pkg|intel-mkl}} パッケージをインストールして、それから {{AUR|r-mkl}} パッケージをインストールしてください。
   
 
{{Note|
 
{{Note|
170行目: 200行目:
 
}}
 
}}
   
=== intel-parallel-studio-xe ===
+
=== intel-advisor-xe ===
[http://software.intel.com/en-us/intel-parallel-studio-xe intel-parallel-studio] delivers top application performance with C, C++ and Fortran compilers, libraries and analysis tools.
+
[https://software.intel.com/en-us/intel-advisor-xe intel-advisor] はアプリケーションの性能を最大限引き出す C, C++, Fortran コンパイラ, ライブラリ, 解析ツールのセットです。
   
  +
{{AUR|intel-advisor-xe}}{{Broken package link|パッケージが存在しません}} パッケージをインストールしてください。
First, install the {{AUR|intel-parallel-studio-xe}}{{Broken package link|{{aur-mirror|intel-parallel-studio-xe}}}} 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 {{AUR|r-mkl}} {{ic|PKGBUILD}} file with appending these lines in the {{ic|build()}} section:
 
 
{{bc|<nowiki>
 
# 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
 
</nowiki>
 
}}
 
{{Note|this package will install the above described '''intel-mkl'''}}
 
   
 
== 参照 ==
 
== 参照 ==
* [http://www.rseek.org/ RSeek] A search engine for R related material.
+
* [http://www.rseek.org/ RSeek] R 関連のマニュアルの検索エンジン。

2022年8月4日 (木) 10:40時点における最新版

関連記事

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 関連のマニュアルの検索エンジン。