1 用語定義

2 インストール方法

Rコンソール(Console)で「install.packages(“<パッケージ名>”)」を入力 なお,一度インストールしたパッケージはライブラリに保管され, 次回からは再度インストールする必要がない。

例)Rパッケージ「DT」をインストールする場合(DTはHTML形式の表を作成するパッケージ)

install.packages("DT")

2.1 アンインストール方法

Rコンソール(Console)で「remove.packages(“<パッケージ名>”)」を入力

例)Rパッケージ「DT」をアンインストールする場合

remove.packages("DT")

3 RStudioを利用したインストール方法

RStudioの右下のペイン(窓枠)で「Packages」のタブを選択し 「Install」ボタンを押す。
「Install Packages」のポップアップ画面の「Packages」テキストボックスに インストールしたいパッケージ名を入力する。
表示されるパッケージの候補一覧から所望のものを選択し「Install」ボタンを押す。

RStudioの右下のペインでDTパッケージをインストールする例
RStudioの右下のペインでDTパッケージをインストールする例

チェックボックス「Install dependencies」にチェックが入っていること。 チェックがないと当該パッケージが依存する他のパッケージがインストールされない。

3.1 RStudioを利用したアンインストール方法

RStudioの右下のペイン(窓枠)で「Packages」のタブを選択し,
「User Libaray」の一覧からアンインストールしたいパッケージを見つけ,右側の✖をクリックする。

RStudioの右下のペインでDTパッケージをアンインストールする例
RStudioの右下のペインでDTパッケージをアンインストールする例

4 ライブラリからパッケージを利用(ロード)する方法

Rコンソール(Console)で「library(<パッケージ名>)」を入力する。
なお,リテラル記号” “でパッケージ名を囲む必要はない。

例)ライブラリにある「DT」パッケージを利用(ロード)する方法

install.packages("DT") # 説明のために再度インストール

# パッケージDTをライブラリからロード
library(DT)

一度パッケージをロードすると,そのパッケージに含まれる関数やデータを利用できる。 利用したい関数やデータよりも前にロードしておく必要がある。

例)データフレーム「d」を作成し,「DT」パッケージの「datatable」関数を利用しHTMLの表を表示

# テスト用データフレーム
d <- data.frame(a = 1:2, b = 2:3, c = 3:4)

# パッケージ関数の利用
datatable(d)

4.1 特定のパッケージ関数を直接利用する方法

「<パッケージ名>::<パッケージ関数>」とすれば,パッケージをロードせずに, つまり「library(<パッケージ名>)」の記述がなくても直接的にパッケージ関数を利用できる。 次のような用途で主に使用される。

  • 複数のパッケージを利用する場合にどのパッケージの関数を利用しているのか明示的に示したい場合
  • Rパッケージ作成時に他のパッケージ関数を使用する場合(libaryを利用できない環境下の場合)

例)「::」を使って直接的にパッケージ関数を利用

# 直接的に利用できることの説明のためにDTパッケージを一旦取り外す(アンロード)
detach("package:DT", unload = TRUE)

# パッケージ関数の直接利用
DT::datatable(d)

5 自動インストール方法

「if (!require(<パッケージ名>)) 」の一文を「install.packages(<パッケージ名>)」文の前に付ける。

require関数は,library関数と同じようにパッケージをロードするが, 返り値としてロードできたか否かの論理値(TRUE/FALSE )を返す。 if文の内容は,所望のパッケージをロードできなかった場合に,install.packges関数が実行される仕組みである。 一度インストールされると,二回目からはlibrary関数と同じようにパッケージのロードを行うだけである。 新バージョンのRを使う場合や他人にRプログラムソースファイルを渡す場合は, 予め使用するパッケージがライブラリにインストールされていない場合が多い, そのときにこの記述をプログラムの先頭に載せておくと大変親切である。

例)パッケージのインストールの有無を判断し,まだの場合はインストールするコマンド文(命令文)

if (!require(DT)) install.packages("DT")

6 トラブルシューティング

よくあるトラブルとしては,パッケージ名の間違い,パッケージをロードする前にパッケージ関数を使用するなどである。

パッケージをロードするまえにパッケージ関数を利用すると次のようなメッセージ文のエラーとなる。

! could not find function "<関数名>"