R パッケージのインストール方法と使い方【Rで統計解析 基礎編】

# パッケージとは？
Rを使う上で欠かせないのがパッケージです。パッケージとは、特定の計算や作業に必要な関数・データなどをひとまとめにしたものです。これをインストールして利用することで、長いコードをわざわざ書かなくても、簡単にコーディングを行うことができます。

世界中のプログラマー・研究者によって開発されたRのパッケージは無料で公開されています。そうしたパッケージをダウンロードする方法は公開の方法に応じて複数あるので、今回はそれらを整理しました。

# CRANからインストールする方法
最もメジャーな方法が、CRANを通じてインストールする方法です。CRANとはThe Comprehensive R Archive Networkの略称で、Rの本体やパッケージを配布しているサイトです。

このCRANからパッケージをインストールする際のコードは以下の通りです。

```{R}
install.packages("パッケージ名")
```

あるいは、RStudioのPackagesタブからもインストールする方法が一応あります。タブの左上の「Install」ボタンをクリックします。

![スクリーンショット 2021-08-27 21.17.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/661056/ab7c68d6-aac0-3133-3032-d3f28a1ed426.png)

すると以下のようなポップアップが表示されるので、Install from:の欄をRepository(CRAN)になっている状態でPackagesの欄にパッケージ名を記入します。

![スクリーンショット 2021-08-27 21.17.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/661056/45d2df0d-5053-5ce1-a8d9-a7cc81307300.png)

パッケージ名を打ち込むと以下のように予測も表示されます。正しくパッケージ名を打ち込めたらInstallをクリックします。

![スクリーンショット 2021-08-27 21.19.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/661056/19ba5949-202b-d6e3-9e08-73e2c3447611.png)

どちらの方法でも結果は同じです。例えば、ggplot2というパッケージをインストールしたとすると、コンソールタブには以下のような結果が表示されます。これでパッケージが正しくインストールされたことになります。

```{R}
> install.packages("ggplot2")
 URL 'https://cran.ism.ac.jp/bin/macosx/contrib/4.1/ggplot2_3.3.5.tgz' を試しています 
Content type 'application/x-gzip' length 4125542 bytes (3.9 MB)
==================================================
downloaded 3.9 MB


The downloaded binary packages are in
	/var/folders/nb/3b0m0b5x7hz13n26cvsry4x40000gn/T//Rtmp9oBMt5/downloaded_packages
```


基本的な統計解析用のパッケージの多くは、CRANを介した上記の方法でインストールすることができると思います。しかし、中には正しいパッケージ名を用いてインストールを試みていても、以下のような「パッケージがありません」とエラーが表示されることがあります。

```{R}
> install.packages("Biostrings")
Warning in install.packages :
  package ‘Biostrings’ is not available for this version of R

A version of this package for your version of R might be available elsewhere,
see the ideas at
https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Installing-packages
```

これは、該当するパッケージがCRAN以外で配布されている可能性が高いので、改めてパッケージのインストール方法を確認しましょう。このような場合には、Bioconductorからインストールする場合と、githubからインストールする場合の主に２通りが考えられます。

# Bioconductorからインストールする方法

[Bioconductor](https://bioconductor.org/) は、主に生物や医療統計学向けのパッケージを公開しているサイトです。Bioconductorからパッケージをインストールするには、**BiocManager** というパッケージを用います。Rのバージョン3.5より以前はbiocLiteという関数を使っていたので、その方法が依然ネットに記載されていることがありますが、2021年現在その方法を実施するとエラーが表示されるので注意してください。

以下はBioconductorからインストールする方法です。まずは、CRANからBiocManagerをインストールします。

```{R}
install.packages("BiocManager")
```

次に、以下のコードを打ちます。ここでは、先ほどインストールしたBiocManagerを読み込んで、その中のinstall()という関数にインストールしたいパッケージ名を入れています。この 「::」 の部分については後で説明しますが、読み込みと関数の実行を一行で表現する記法を使っています。

```{R}
BiocManager::install("Biostrings")
```

コンソール画面につらつらとメッセージが表示されるかもしれませんが、最終的に以下のようなメッセージが表示されたらインストールが無事に完了したことになります。

```{R}
The downloaded binary packages are in
	/var/folders/nb/3b0m0b5x7hz13n26cvsry4x40000gn/T//Rtmp9oBMt5/downloaded_packages
```

# GitHubからインストールする方法

多くの場合はCRANかBioconductorで解決しますが、中にはこれらに登録されていなくて、GitHub上のみで開発者が独自に公開しているパッケージもあります。（GitHubとは、ソースコードの管理・公開のためのサービスです）

GitHubからインストールを行う際は、まず devtoolsというパッケージか、remotesというパッケージをインストールします。

```{R}
install.packages("devtools")
```
または

```{R}
install.packages("remotes")
```

次に、install_github()という関数を利用して対象のパッケージをインストールします。引数（括弧の中）にはインストールしたいパッケージがGitHub上のどこに保存されているかを示す文字列を入れてあげます。その文字列の構造は、*アカウント名/リポジトリ名* になっています。以下の例だと、robjhyndmanというアカウントのforecastというリポジトリに入っているパッケージをインストールしています。

```{R}
devtools::install_github("robjhyndman/forecast")
```
または

```{R}
remotes::install_github("robjhyndman/forecast")
```


# インストールしたパッケージの使い方

以上、パッケージのインストール方法として３通りを説明しました。すでに既出ではありますが、次にパッケージの使い方を整理します。

インストールしたパッケージはPackagesタブで一覧として確認することができます。しかし、インストールしただけではまだパッケージ内の関数などは使えません。次に「読み込み」という手順が必要になります。この読み込みにはlibrary()という関数を使います。

```{R}
library(lme4)

#lme4パッケージの中のlmerという関数を使う
model <- lmer(y ~ x + (1|z), data=d)
```

上記のように、読み込みを行うことで初めて、パッケージに入っている関数やデータを利用することができます。

library()を使って読み込みを明記する代わりに、**パッケージ::関数()** という表記でコードを減らす書き方もあります。上記の例だと

```{R}
model <- lme4::lmer(y ~ x + (1|z), data=d)
```

どちらの書き方でも良いと思いますが、最初に挙げたlibraryを使う方が一般的な気がします。

パッケージのインストール用のコードは、一度実行すればあとは実行する必要がありません。ただし、コードを共有したりする場合は、まだインストールしてない人もいる可能性があるので、これらのコードもコメントアウトして残しておくと親切かなと思います。

一方で、パッケージの読み込みのコードは、Rを立ち上げる度に実行する必要があります。なので、これらもファイルの冒頭などにまとめておくとわかりやすいと思います。

***

以上、Rのパッケージについてでした。