「R」の版間の差分
(en:Rへの転送ページ) |
Kusanaginoturugi (トーク | 投稿記録) (校正(でき・出来)) |
||
(4人の利用者による、間の11版が非表示) | |||
1行目: | 1行目: | ||
+ | [[Category:科学]] |
||
− | #redirect[[en:R]] |
||
+ | [[Category:プログラミング言語]] |
||
+ | [[en:R]] |
||
+ | {{Related articles start}} |
||
+ | {{Related|Intel C++}} |
||
+ | {{Related articles end}} |
||
+ | [http://www.r-project.org/ R] は統計計算やグラフィック用のフリーのソフトウェア環境です。 |
||
+ | |||
+ | == インストール == |
||
+ | === 基本パッケージ === |
||
+ | |||
+ | [[公式リポジトリ]]の {{Pkg|r}} パッケージを[[インストール]]してください。 |
||
+ | |||
+ | Fortran でコンパイルするには他にもパッケージが必要です。{{Pkg|gcc-fortran}} を[[インストール]]すると良いでしょう。 |
||
+ | |||
+ | === 初期設定 === |
||
+ | |||
+ | 起動プロセスについて詳しく知りたい場合は [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}} セッションを起動するには、ターミナルを開いて次のコマンドを入力してください: |
||
+ | $ R |
||
+ | {{Note| |
||
+ | * コマンドを実行するには {{ic|Shift+u}} を使います (ターミナルによっては {{ic|r}} で最後に入力したコマンドが再度実行されます)。{{ic|R}} のセッションに入ると、プロンプトが {{ic|>}} に変わります。 |
||
+ | * R のドキュメントにおいて '''site''' は '''system-wide''' を意味します。}} |
||
+ | システムファイルの設定についてのドキュメントを読むには {{ic|??Startup}} を実行して下さい。{{ic|help()}} を実行するとオンラインヘルプが、{{ic|help.start()}} を実行するとヘルプの HTML ブラウザインターフェイスが、{{ic|demo()}} を実行するとデモを見ることができます。{{ic|q()}} を実行するとセッションを閉じて終了します。 |
||
+ | |||
+ | セッションを終了すると、以下のように表示されます: {{ic|Save workspace Image ?[y/n/c]}}。''workspace'' は現在の作業環境であり、ユーザーが定義したオブジェクトや関数が全て含まれます。セーブしたイメージは {{ic|.RData}} 形式で保存され、次回 {{ic|R}} を起動した時に自動的にリロードされます。ワークスペースはいつでも {{ic|save.image(image.RData)}} コマンドで手動で保存することができ、いくらでもイメージを作成することができます (例: ''image1.RData'', ''image2.RData'')。イメージは {{ic|load.image(image.RData)}} コマンドでロードできます。 |
||
+ | |||
+ | {{Tip| |
||
+ | * R のうるさい起動メッセージが煩わしいのであれば、{{ic|--quiet}} コマンドラインオプションを使って {{ic|R}} を起動しましょう: {{ic|$ R --quiet}}。[[自動起動|スタートアップファイル]]で {{ic|alias R ="R --quiet"}} と設定することもできます。 |
||
+ | * 設定ファイルで定義をしないかぎり、{{ic|R}} は $HOME ディレクトリで起動します。特定のディレクトリで起動させたい場合、まずディレクトリを作成してください: |
||
+ | $ R |
||
+ | > setwd("path/to/your/directory") |
||
+ | > q() |
||
+ | Save workspace image? [y/n/c]: y |
||
+ | {{ic|R}} は現在の環境の '''.RData''' イメージファイルを作成します。このファイルをダブルクリックすると、{{ic|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) |
||
+ | }} |
||
+ | |||
+ | ===変数=== |
||
+ | [[環境変数]]について言えば、{{ic|R}} は分かりづらいところがあります。非常に量があり '''site''' と '''user''' で重複しているからです。スタートアップで使われるファイルは2種類あります: {{ic|$R_ENVIRON}} によって定義される''環境ファイル''と、{{ic|$R_PROFILE}} によって定義される''プロファイルファイル''です。 |
||
+ | |||
+ | 重要な変数は [http://stat.ethz.ch/R-manual/R-devel/library/base/html/EnvVar.html Environment Variables R Documentation] で説明されています。 |
||
+ | |||
+ | ====R_ENVIRON==== |
||
+ | 起動時に、まず {{ic|R}} は '''site''' と '''user''' の {{ic|.Renviron}} ファイルを検索して[[環境変数]]の設定を行います。'''site''' ファイルは {{ic|/etc/R}} に存在し、configure によって生成されます。 |
||
+ | |||
+ | ユーザーファイルの名前は {{ic|R_ENVIRON_USER}} [[環境変数]]で指定することが可能です。ファイルを指定しなかった場合、{{ic|R}} はホームディレクトリ内の {{ic|.Renviron}} を自動的に読み取ります。他の場所を使いたい場合は、{{ic|export R_ENVIRON_USER ="path/to/.Renviron"}} と[[自動起動|スタートアップファイル]]に記述してください。'''R syntax''' を使って全ての環境変数を設定する場所になります。 |
||
+ | |||
+ | ====R_PROFILE==== |
||
+ | その後 {{ic|R}} は {{ic|R_PROFILE}} [[環境変数]]によって定義される '''site''' の {{ic|Rprofile.site}} を検索します。インストールしただけではこのファイルは存在しません。最後に、{{ic|R}} は '''user''' の {{ic|R_PROFILE_USER}} を検索します。設定されていない場合、現在のディレクトリ ({{ic|R}} コマンドの {{ic|> getwd()}} で返ってくるディレクトリ) またはユーザーのホームディレクトリに {{ic|.Rprofile}} という名前のファイルがないか検索します。{{ic|R}} のカスタムコードを置く場所です。 |
||
+ | |||
+ | == 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}} セッションの中から、次のコマンドを実行してユーザーライブラリが存在すること、正しく設定されていることを確認してください: |
||
+ | {{hc|> Sys.getenv("R_LIBS_USER")| |
||
+ | [1] "/path/to/directory/R/packages"}} |
||
+ | {{ic|R}} セッションからのインストールが一番安全で [[pacman]] のパッケージ管理と衝突することがありませんが、他の方法でパッケージをインストールすることもできます。ターミナルで次のコマンドを実行: |
||
+ | |||
+ | {{bc|$ R CMD INSTALL -l $R_LIBS_USER ''pkg1 pkg2 ...''}} |
||
+ | |||
+ | === R パッケージのアップグレード === |
||
+ | ==== R セッションから ==== |
||
+ | > update.packages(ask=FALSE) |
||
+ | もしくは、古いバージョン用にビルドされたパッケージを再ビルドする必要がある場合: |
||
+ | > update.packages(ask=FALSE,checkBuilt=TRUE) |
||
+ | {{Tip|起動時に大量のパッケージをロードしている場合、'''R''' セッションからのパッケージのアップグレードはすぐに苦痛になるでしょう。アップグレードするパッケージは、''ロードされていない''状態である必要があります。次のようにして R セッションを新しく起動して: {{ic| R --vanilla}} それからアップグレードを実行すると良いでしょう。}} |
||
+ | ==== シェルから ==== |
||
+ | まず、[[Arch User Repository]] から {{AUR|littler}} を[[インストール]]してください。このパッケージをインストールすると '''R''' のコマンドを直接実行できるようになり、スクリプトフロントエンドのように使えます。また、[http://dirk.eddelbuettel.com/code/littler.examples.html dirk.eddelbuettel] のウェブサイトに '''littler''' の情報が載っています。以下はパッケージのアップデートを実行するスクリプトです: |
||
+ | {{bc| |
||
+ | #!/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 やライブラリの場所は自由に変更できます。 |
||
+ | |||
+ | {{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>}} |
||
+ | |||
+ | ==設定ファイル== |
||
+ | |||
+ | ホームフォルダで使用する2つのユーザー設定ファイル {{ic|.Renviron}} と {{ic|Rprofile.r}} があります。{{ic|$HOME}} ディレクトリをできるだけ乱雑にしたくない場合、{{ic|~/.config/r}} ディレクトリを作成して {{ic|Rprofile.r}} ファイルをディレクトリのルートに配置してこのファイルをあなたの {{ic|R}} のコードに追加すると良いでしょう。 |
||
+ | ===.Renviron=== |
||
+ | {{ic|Renviron}} ファイルに記述できるのは冒頭が '''#''' のコメント行か、''name=value'' という形式の行だけです。以下はベーシックな {{ic|.Renviron}} の例です: |
||
+ | {{hc|.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=== |
||
+ | 作業ディレクトリの中に {{ic|Rprofile.r}} を配置することで利便性を高めることができます。特定のプロファイルを使うことで、プロジェクトのディレクトリごとに専用の設定ができます。{{ic|R}} で作業ディレクトリに移動すると、ディレクトリ内の {{ic|Rprofile.r}} ファイルが読み込まれます。 |
||
+ | |||
+ | 以下は有用なオプションやコードの簡単なリストです: |
||
+ | {{hc|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 |
||
+ | }} |
||
+ | [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 こちら] を参照。 |
||
+ | |||
+ | == R にグラフィカルフロントエンドを追加 == |
||
+ | |||
+ | R の linux 版にはグラフィカルユーザーインターフェイスが含まれていません。しかしながら、R commander や RKWard といった、サードパーティ製の R のユーザーインターフェイスを利用することができます。 |
||
+ | |||
+ | === R Commander フロントエンド === |
||
+ | R Commander は人気のある R ユーザーインターフェイスです。R Commander をインストールするための Arch Linux パッケージは存在しませんが、R パッケージなので R の中から簡単にインストールすることができます。R Commander を使うには {{Pkg|tk}} を[[インストール]]する必要があります。 |
||
+ | |||
+ | R Commander をインストールするには、コマンドラインから 'R' を実行して、次を入力してください: |
||
+ | > install.packages("Rcmdr", dependencies=TRUE) |
||
+ | |||
+ | しばらく時間がかかります。 |
||
+ | |||
+ | library コマンドを使って R の中から R Commander を起動できます: |
||
+ | |||
+ | > library("Rcmdr") |
||
+ | |||
+ | === RKWard フロントエンド === |
||
+ | RKWard はオープンソースのフロントエンドです。データのインポートや閲覧、一般的な統計テストやプロットなどができます。[[AUR]] の {{Pkg|rkward}} でインストールが可能です。 |
||
+ | |||
+ | === RStudio IDE === |
||
+ | RStudio はオープンソースの R IDE です。括弧のマッチングやタブ補完、ツールチップヘルプ、エクセルのようなデータビューアなど便利な機能が沢山入っています。 |
||
+ | |||
+ | [[AUR]] から {{AUR|rstudio-desktop-bin}} (Rstudio プロジェクトウェブサイトのバイナリ版) か {{AUR|rstudio-desktop-git}} (開発版) をインストールしてください。 |
||
+ | |||
+ | R ライブラリのパスは {{ic|R_LIBS}} 環境変数で設定しますが、RStudio はこれを無視します。そのため、上述のように {{ic|~/.Renviron}} で {{ic|R_LIBS_USER}} を設定する必要があります。 |
||
+ | |||
+ | == エディタ IDE や R に対応しているノートブック == |
||
+ | |||
+ | === Rstudio サーバー === |
||
+ | |||
+ | RStudio Server はリモートの Linux サーバーで動作している R をブラウザから操作できるインターフェイスを提供します。 |
||
+ | |||
+ | {{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] ドキュメントを参照。 |
||
+ | |||
+ | サーバーを起動するには、パッケージに含まれている {{ic|rstudio-server.service}} ユニットファイルを[[Systemd#ユニットを使う|起動・有効化]]してください。 |
||
+ | |||
+ | === Emacs Speaks Statistics === |
||
+ | {{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 の並列処理と干渉する可能性があります [http://blog.revolutionanalytics.com/2015/10/edge-cases-in-using-the-intel-mkl-and-parallel-programming.html]。本当に高速な線形代数が R で必要な場合にのみ、以下のオプションを使ってみて下さい。 |
||
+ | |||
+ | === OpenBLAS === |
||
+ | {{Pkg|openblas}} は [[AUR]] からインストールすることができ、extra に含まれているリファレンスの {{Pkg|blas}} を置き換えます。extra に含まれている標準の {{Pkg|r}} パッケージを使用している場合、特別な設定は必要ありません。R はシステムの BLAS を使うように設定されており、OpenBLAS がインストールされている場合、OpenBLAS を使用します。 |
||
+ | === Intel MKL === |
||
+ | '''使用しているプロセッサが Intel 製の場合'''、[https://software.intel.com/en-us/intel-mkl Intel math Kernel Library] を使用することを強く推奨します。'''MKL''' はマルチスレッド対応というだけでなく、Intel プロセッサ専用の最適化が行われており、伝統的なライブラリと比べて圧倒的なパフォーマンスを発揮します。 |
||
+ | |||
+ | 最初に [[AUR]] から {{Pkg|intel-mkl}} パッケージをインストールして、それから {{AUR|r-mkl}} パッケージをインストールしてください。 |
||
+ | |||
+ | {{Note| |
||
+ | * {{AUR|r-mkl}} と ''R'' をインストールした場合、''R'' を削除するように表示されます。''r-mkl'' をインストールしたら、''R'' のコンソールで次のコマンドを実行してください: {{ic|> 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 [https://stat.ethz.ch/pipermail/r-help/2014-September/421574.html this post] for more information. |
||
+ | }} |
||
+ | |||
+ | === intel-advisor-xe === |
||
+ | [https://software.intel.com/en-us/intel-advisor-xe intel-advisor] はアプリケーションの性能を最大限引き出す C, C++, Fortran コンパイラ, ライブラリ, 解析ツールのセットです。 |
||
+ | |||
+ | {{AUR|intel-advisor-xe}}{{Broken package link|パッケージが存在しません}} パッケージをインストールしてください。 |
||
+ | |||
+ | == 参照 == |
||
+ | * [http://www.rseek.org/ RSeek] R 関連のマニュアルの検索エンジン。 |
2024年7月10日 (水) 20:43時点における最新版
関連記事
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 の rkward でインストールが可能です。
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
openblas は AUR からインストールすることができ、extra に含まれているリファレンスの blas を置き換えます。extra に含まれている標準の r パッケージを使用している場合、特別な設定は必要ありません。R はシステムの BLAS を使うように設定されており、OpenBLAS がインストールされている場合、OpenBLAS を使用します。
Intel MKL
使用しているプロセッサが Intel 製の場合、Intel math Kernel Library を使用することを強く推奨します。MKL はマルチスレッド対応というだけでなく、Intel プロセッサ専用の最適化が行われており、伝統的なライブラリと比べて圧倒的なパフォーマンスを発揮します。
最初に AUR から intel-mkl パッケージをインストールして、それから r-mklAUR パッケージをインストールしてください。
intel-advisor-xe
intel-advisor はアプリケーションの性能を最大限引き出す C, C++, Fortran コンパイラ, ライブラリ, 解析ツールのセットです。
intel-advisor-xeAUR[リンク切れ: パッケージが存在しません] パッケージをインストールしてください。
参照
- RSeek R 関連のマニュアルの検索エンジン。