B Rパッケージのインストールのヒント
この付録では、Rパッケージの操作に関連するいくつかの手順について説明します。Oracle Machine Learning for Rをインストール、アンインストールまたはアップグレードするタスクを実行するとき、Rパッケージの操作経験が少ない場合は、この付録の情報が役立つことがあります。
この付録には、次の項が含まれます。
- Rパッケージのインストールの基本
Rパッケージは、Rコマンドラインまたはシステムのコマンドラインからインストールできます。 - Rリポジトリの設定
Rリポジトリの設定の手順。 - Oracle Machine Learning for R向けのRパッケージのインストールについて
OML4Rを使用する埋込みRの実行では、Oracle Databaseサーバーで実行されるユーザー定義のR関数で、CRANまたは他のサード・パーティのRパッケージを使用できます。 - CRANタスク・ビューについて
CRANでは、特定のタスクや方法に関連付けられたパッケージを示す、一連のタスク・ビューを管理しています。
B.1 Rパッケージのインストールの基本
Rパッケージは、Rコマンドラインまたはシステムのコマンドラインからインストールできます。
Rパッケージのインストールの基本は、Rインストレーションおよび管理ガイドの第6章で説明されています。次の例では、Oracle R Distributionを使用してパッケージをOracle Linuxにインストールします。すべてのユーザーがアクセス可能なRシステム全体のデフォルトの場所(/usr/lib64/R/library
)にパッケージがインストールされるように、arules
パッケージをrootとしてインストールします。
R内でinstall.packages
関数を使用すると、常に、リクエストされたパッケージの、CRANで使用できる最新バージョンのインストールが試行されます。
R> install.packages("arules")
arules
パッケージが、ローカルにインストールされていない他のパッケージに依存する場合は、Rインストーラは、これらの必要なパッケージを自動的にダウンロードしてインストールします。これにより、ユーザーがこれらの依存性を特定して解決する必要がなくなることは、非常に大きい利点となります。
また、シェル・コマンドラインからRをインストールすることもできます。このことは、インターネット接続を使用できない場合や、CRANにアップロードされていないパッケージをインストールする場合に、一部のパッケージで役立ちます。この方法でパッケージをインストールするには、まずCRANでパッケージを探して、ローカル・マシンにパッケージ・ソースをダウンロードします。次に例を示します。
$ wget https://cran.r-project.org/src/contrib/arules_1.1-9.tar.gz
次に、コマンドR CMD INSTALL
を使用してパッケージをインストールします。
$ R CMD INSTALL arules_1.1-9.tar.gz
Rパッケージ・インストーラを使用してRパッケージをインストールする場合のRコマンドラインとシェル・コマンドラインの主な違いは、シェル・コマンドラインではパッケージの依存性を手動で解決する必要があるということです。パッケージの依存性は、パッケージのCRANサイトの依存セクションにリストされています。パッケージをインストールする前に依存性を特定しないでインストールすると、次のようなエラーが発生します。
ERROR: dependency 'xxx' is not available for package 'yyy'
ベスト・プラクティスとして、および時間を節約するために、インストールを試行する前に、常に、パッケージのCRANサイトを参照してパッケージの依存性を理解してください。
Rをrootとして実行しない場合は、デフォルトのシステム全体の場所にパッケージを書き込む権限がないため、自分のユーザーIDでアクセスできる個人用ライブラリを作成するよう求められます。Rに選択された個人用ライブラリ・パスを受け入れるか、install.packages
関数にパラメータを渡すことによってライブラリの場所を指定できます。たとえば、ホーム・ディレクトリにRパッケージ・リポジトリを作成するには、次の手順を実行します。
R> install.packages("arules", lib="/home/username/Rpackages")
または
$ R CMD INSTALL arules_1.1-9.tar.gz --library=/home/username/Rpackages
コマンドライン・オプションをすべて示すリストを確認するには、R内のinstall.packages
ヘルプ・ファイルを参照するか、シェル・コマンドラインでR
CMD
INSTALL --help
を実行します。
ライブラリの場所を設定して、これをパッケージのインストールで毎回指定する必要がないようにするには、単に、ホーム領域にRの起動環境ファイル.Renviron
を作成して(存在しない場合)、次のコードを追加します。
R_LIBS_USER = "/home/username/Rpackages"
親トピック: Rパッケージのインストールのヒント
B.2 Rリポジトリの設定
Rリポジトリの設定手順。
RパッケージをRコマンドラインからインストールするたびに、RでいずれのCRANミラーまたはサーバーを使用するかを尋ねられます。リポジトリを設定して、これをパッケージのインストール中に毎回指定する必要がないようにするには、ホーム・ディレクトリにRの起動コマンド・ファイル.Rprofile
を作成して、使用するCRANミラーを指定します。次のコードでは、各Rセッションが開始するときに、Rパッケージ・リポジトリをSeattle CRANミラーに設定します。
cat("Setting Seattle repository")
r = getOption("repos")
r["CRAN"] = "http://cran.fhcrc.org/"
options(repos = r)
rm(r)
親トピック: Rパッケージのインストールのヒント
B.3 Oracle Machine Learning for R向けのRパッケージのインストールについて
OML4Rを使用する埋込みRの実行では、Oracle Databaseサーバーで実行されるユーザー定義のR関数で、CRANまたは他のサード・パーティのRパッケージを使用できます。
OML4Rで使用するパッケージをインストールおよび構成するステップは、オープン・ソースRの場合と同じです。データベース側Rエンジンでは、単にRパッケージを探す場所を認識することが必要となります。
OML4Rのインストールはユーザーoracleによって実行され、通常、このユーザーには、デフォルトのサイト全体のライブラリ/usr/lib64/R/library
に書き込む権限はありません。LinuxおよびUNIXプラットフォームでは、OML4RサーバーのインストールにORE
スクリプトが備えられており、これをオペレーティング・システムのシェルから実行してRパッケージをインストールし、Rを起動します。ORE
スクリプトは、デフォルトのRスクリプトのラッパー、R実行可能ファイルのシェル・ラッパーです。これを使用して、Rを起動し、バッチ・スクリプトを実行し、Rパッケージを構築またはインストールできます。デフォルトのRスクリプトとは異なり、ORE
スクリプトは、oracleユーザーが書き込むことができ、すべてのOML4Rユーザーがアクセスできる場所($ORACLE_HOME/R/library
)にパッケージをインストールします。
任意のRユーザーおよび埋込みRの実行で使用できるように、データベース・サーバーにパッケージをインストールするには、通常、Oracle DBAがwget
を使用してCRANからパッケージ・ソースをダウンロードします。そのパッケージが、使用していないR Distributionのパッケージに依存している場合は、そのパッケージのソースもダウンロードします。
単一のOracle Databaseインスタンスでは、RスクリプトをORE
に置き換えて、OML4Rパッケージと同じ場所にパッケージをインストールします。
$ wget https://cran.r-project.org/src/contrib/arules_1.1-9.tar.gz $ ORE CMD INSTALL arules_1.1-9.tar.gz
バックグラウンドで、ORE
スクリプトは、R_LIBS_USER
を$ORACLE_HOME/R/library
の値に設定することに相当することを実行するため、ORE
スクリプトでインストールされるすべてのRパッケージは、この場所にインストールされます。Oracle Real Application Clusters (Oracle RAC)や複数ノードのOracle Exadataデータベース・マシン環境などの複数のデータベース・サーバーにパッケージをインストールする場合は、ORE
スクリプトとExadata分散コマンドライン・インタフェース(DCLI)ユーティリティを組み合せて使用します。
$ dcli -g nodes -l oracle ORE CMD INSTALL arules_1.1-9.tar.gz
DCLI -gフラグはインストール先のノードのリストを含むファイルを指定し、-lフラグはコマンドの実行時に使用するユーザーIDを指定します。
OML4Rクライアントを使用している場合は、Rパッケージと同じ方法でパッケージをインストールします。非互換性を回避するために、クライアント・マシンとサーバー・マシンの両方に同じバージョンのパッケージをインストールする必要があることに注意してください。
親トピック: Rパッケージのインストールのヒント
B.4 CRANタスク・ビューについて
CRANでは、特定のタスクや方法に関連付けられたパッケージを示す、一連のタスク・ビューを管理しています。
タスク・ビューは、使用可能な膨大な一連のRパッケージからユーザーが必要な情報を探すのに役立ちます。これらは、ルーチンおよびパッケージの詳細な注釈を追加するボランティアによってアクティブに管理されています。タスク・ビューのいずれかが完全に一致することがわかった場合、ctv
パッケージ(パッケージのインストールを自動化するパッケージ)を使用して、そのビューのすべてのパッケージをインストールできます。
ctvパッケージおよびタスク・ビューのインストール
ctv
パッケージを使用してタスク・ビューをインストールするには、まずctv
パッケージをインストールおよびロードします。
R> install.packages("ctv")
R> library(ctv)
次に、使用可能なタスク・ビューの名前を問い合せて、選択したビューをインストールします。
R> available.views()
R> install.views("TimeSeries")
パッケージの使用および管理
パッケージを使用するには、Rを起動して、library
コマンドでパッケージを1つずつロードします。
Rセッションで、arules
パッケージをロードします。
R> library(arules)
インストールされたarules
のバージョンを確認します。
R> packageVersion("arules")
[1] '1.1.9'
埋込みRの実行を使用して、データベース・サーバーにインストールされたarules
のバージョンを確認します。
R> ore.doEval(function() packageVersion("arules"))
arules
パッケージでapropos
関数のヘルプ・ファイルを表示します。
R> ?apropos
パッケージ・リポジトリ内のパッケージは徐々に増えていきます(特に、他のユーザーもパッケージを追加しているシステム全体のリポジトリを使用している場合)。使用環境でアクセスできる一連のRパッケージの全体を把握しておくと有益です。ローカルRセッションですべての使用可能なパッケージをリストするには、installed.packages
コマンドを使用します。
R> myLocalPackages <- row.names(installed.packages())
R> myLocalPackages
親トピック: Rパッケージのインストールのヒント