install.packages("tidyverse")
install.packages("sf")
install.packages("here")
はじめに
何か新しいプロジェクトを始める際に、新しいパッケージをいちいちインストールして読み込むのは面倒ですよね。
そんな時に便利な pacman
パッケージのご紹介です。
pacman とは
ざっくり言うと、パッケージのマネジメントツールです。このパッケージには p_
で始まる様々な関数が含まれています。
特に便利なのが p_load()
で、パッケージのインストールと読み込みを両方してくれます。もちろんインストール済みのパッケージは、読み込むだけです。
さらに便利なのは、複数のパッケージをまとめて書けるということです。install.packages()
は一度に複数のパッケージをインストールできるものの、library()
はパッケージごとにしなくてはなりません。その点 pacman::p_load()
は、括弧内にパッケージを並べて書くことで、複数のパッケージを一度にインストール、読み込みまでしてくれます(しかもダブルクォーテーションで囲まなくてよい!)。
使ってみる
早速使ってみます。今回は、tidyverse
, sf
, here
の3つを使いたいとして、まだインストールもしていないとします。
library()
まず、インストールします。
次に、読み込みます。
library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr 1.1.4 ✔ readr 2.1.5
✔ forcats 1.0.0 ✔ stringr 1.5.1
✔ ggplot2 3.5.1 ✔ tibble 3.2.1
✔ lubridate 1.9.3 ✔ tidyr 1.3.1
✔ purrr 1.0.2
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(sf)
Linking to GEOS 3.12.1, GDAL 3.8.4, PROJ 9.4.0; sf_use_s2() is TRUE
library(here)
here() starts at /home/rstudio/work
これで使えるようになりました。
p_load()
pacman::p_load()
はこれで一発です。
::p_load(tidyverse, sf, here) pacman
この場合、上に出てきたような読み込みに付随するメッセージは出てきません。
使うにあたって
pacman
がパッケージである以上、はじめに install.packages("pacman")
はしなければなりません。それ以降は install.packages()
とはおさらばできます。
packman::
の書き方を使って、library(pacman)
も省略しましょう1。
また、Docker を用いて環境構築する場合、Dockerfile にインストールすることを指示しておけば、それすら要らなくなります2。
Dockerfile に以下を追加します。
Dockerfile
RUN R -e "install.packages('pacman')"
これでビルドすれば、RStudio でインストールせずとも pacman
が使えます。
おまけ
パッケージを全部アップデートしたい、なんてこともありますよね。RStudio から一括でやる方法もありますが、せっかくなので pacman
を使ってやってみましょう。
::p_update() pacman
これでいけます。
まとめ
pacman
パッケージをご紹介しました。
library()
とどちらを使うかはお好み次第だと思います。
魅力を感じた方はぜひ使ってみてください!