R FAQ v2.4 - 5章の日本語訳 (5.2-5.6)

5.2 アドオン・パッケージのインストール方法は? (How can add-on packages be installed?)

(Unix のみ.) CRAN のアドオン・パッケージは, `PKG_VERSION.tar.gz' という名前の gzip で圧縮された tar ファイルとして提供されるので, 実際には 1個以上のパッケージを含んだ "バンドル" になっているかもしれません. あなたのシステムで `tar' および `gzip' が利用可能であれば, シェル・プロンプト上で下記のようにタイプしてください


$ R CMD INSTALL /path/to/PKG_VERSION.tar.gz
すると, このパッケージは, もしも環境変数 `R_LIBS' (下記参照) が設定されていて, かつ, 空でない場合には, R_LIBS の先頭に書かれたディレクトリーをルートとするライブラリーのツリーに; そうでない場合は, ディフォルトのライブラリー (``R_HOME'' の `library' サブディレクトリー) にインストールされます. (なお, R 1.3.0 より前のヴァージョンでは, ディフォルトで, このディフォルト・ライブラリーにインストールされていました.)

上記以外のツリー (たとえば, あなたの個人用のツリー) にインストールするには,


$ R CMD INSTALL -l LIB /path/to/PKG_VERSION.tar.gz
を使ってください. ここで, LIB には, インストール先であるライブラリーのツリーへのパスを与えます.

さらに便利なことに, もしも CRAN 等のリポジトリーにアクセス可能ならば, R 内部からパッケージをインストールして, 自動的にアップデートすることもできます. より詳しい情報は, `available.packages()' についてのヘルプ・ページをご参照ください.

アドオン・パッケージ用に複数のライブラリー・ツリーを用いることができます. R にそれらの場所を伝える最も簡単な方法は, 環境変数 `R_LIBS' を用いることです. `R_LIBS' には, R のライブラリー・ツリーのルートとして用いるディレクトリー群をコロン (:) でつなげたリストとして設定します. なお, `R_LIBS' にはライブラリーのディフォルト・ツリーを指定する必要はありません. たとえば, あなたが, `$HOME/lib/R' 内の個人用のツリーと, `/usr/local/lib/R-contrib' 内のパブリックなツリーを用いるには, あなたの (Bourne) シェルの profile 内に


R_LIBS="$HOME/lib/R:/usr/local/lib/R-contrib"; export R_LIBS
と設定するか, あるいは望ましくは, あなたの `~/.Renviron' ファイル内に

R_LIBS="~/lib/R:/usr/local/lib/R-contrib"
という行を追加してください. (注意: .Renviron ファイルには `export' 文は不要です (利用できません); より詳しい情報は, `Startup' についてのオンライン・ヘルプをご参照ください.)

5.3 アドオン・パッケージの使用方法は? (How can add-on packages be used?)

あなたのシステムでどのような付加パッケージが利用可能か調べるには, R のプロンプト上で


library()
とタイプしてください.

これにより下記のような情報が出力されます


Packages in `/home/me/lib/R':

mystuff My own R functions, nicely packaged but not documented

Packages in `/usr/local/lib/R/library':

KernSmooth Functions for kernel smoothing for Wand & Jones (1995)
MASS Main Package of Venables and Ripley's MASS
base The R Base package
boot Bootstrap R (S-Plus) Functions (Canty)
class Functions for Classification
cluster Functions for clustering (by Rousseeuw et al.)
datasets The R datasets Package
foreign Read data stored by Minitab, S, SAS, SPSS, Stata, ...
grDevices The R Graphics Devices and Support for Colours and Fonts
graphics The R Graphics Package
grid The Grid Graphics Package
lattice Lattice Graphics
methods Formal Methods and Classes
mgcv GAMs with GCV smoothness estimation and GAMMs by REML/PQ
nlme Linear and nonlinear mixed effects models
nnet Feed-forward Neural Networks and Multinomial Log-Linear Models
rpart Recursive partitioning
spatial Functions for Kriging and Point Pattern Analysis
splines Regression Spline Functions and Classes
stats The R Stats Package
stats4 Statistical functions using S4 classes
survival Survival analysis, including penalised likelihood
tcltk Tcl/Tk Interface
tools Tools for Package Development
utils The R Utils Package

下記を実行することによって, インストール済みのパッケージ PKG を "ロード" することができます


library(PKG)
それから, 下記のどちらかを実行することによって, そのパッケージがどういう関数を提供するか調べることができます

library(help = PKG)
help(package = PKG)
下記を実行することによって, ロード済みのパッケージ PKG をアンロードすることができます

detach("package:PKG")

5.4 アドオン・パッケージの削除方法は? (How can add-on packages be removed?)

下記を実行すると,


$ R CMD REMOVE PKG_1 ... PKG_N
もしも環境変数 `R_LIBS' が設定されていて, かつ, 空でない場合は, その先頭に書かれたディレクトリーをルートとするライブラリー・ツリーから, そうでない場合はディフォルト・ライブラリーから, パッケージ群 PKG_1, ..., PKG_N が削除されます. (なお, R 1.3.0 より前のヴァージョンでは, 削除先はディフォルトでそのディフォルト・ライブラリーでした.)

ライブラリー LIB からパッケージ群を削除するには, 下記を実行してください


$ R CMD REMOVE -l LIB PKG_1 ... PKG_N

5.5 R パッケージの作成方法は? (How can I create an R package?)

1つのパッケージは, ファイル `DESCRIPTION' および `INDEX' を含むサブディレクトリーと, サブディレクトリー群 `R', `data', `demo', `exec', `inst', `man', `src', および `tests' (そのうちのいくつかは欠落可能) で構成されます. オプションで, パッケージにスクリプト・ファイル `configure' および `cleanup' を含めることができます. それらは, インストールの前と後に実行されます.

詳細は, `Writing R Extensions' の "Creating R packages" のセクションをご参照ください. このマニュアルは, R のディストリビューションに含まれています (「R にはどのような文書が存在しますか (What documentation exists for R?)」参照). そして, パッケージの構造, configure と cleanup の仕組み, および自動化されたパッケージのチェックと構築についての情報を与えます.

R ヴァージョン 1.3.0 には, 関数 `package.skeleton()' が追加されています.
これは, ディレクトリーのセットアップ, データおよびコードの保存, R の関数およびデータセットについてのスケルトン・ヘルプ・ファイルの生成を行います.

CRAN へのパッケージのアップロードについての情報は, 「CRAN とは何ですか? (What is CRAN?)」をご参照ください.

5.6 R に貢献する方法は? (How can I contribute to R?)

R は, 活発な開発途中にあり, つねにバグが入り込むリスクがあります. また, 開発者たちは, R を実行する能力を持つあらゆる計算機を使用できるわけではありません. したがって, 単に R を使用し, 問題点を連絡するだけでももちろん大きな価値があります.

まだ機能が欠落しているひとつの箇所は, "Statistical Models in S" (「S とは何ですか? (What is S?)」参照) に記述されているようなモデリング・ソフトウェアです. 非線形モデリングのコードはまだ存在しません.

The R Developer Page (http://developer.R-project.org/) は, R 統計システムに関しておおよそまとめ上げられたアイディアと計画についての中間的なリポジトリーとしての役割を持っています. そこには, TODO リスト, RFCs, 種々の記述, アイディア・リスト, および CVS 雑録 (...へのポインター) が入っています.

Statlib S Repository で入手可能なパッケージ群の多くは R に移植する価値があるかもしれません.

これらのプロジェクトのいずれかに取り組むことに関心があるならば, Kurt Hornik にお知らせください.

(R FAQ 5章おしまい)