Chapter 5 パッケージとは

5.1 パッケージについて

Rはデフォルト(初期状態)でインストールされている関数がたくさんある。

ベクトルの長さを測るlength()や、散布図を描くplot()などは関数であり、もともとRをインストールした時点で入っている。

しかし、さらにRを拡張して機能を強化することができる。
それがパッケージのインストールである。

たとえばスマホにはもともと基本アプリが入っているが、さらにいろんなアプリをダウンロードしてインストールできることに似ている。 しかしパッケージは無料である。

5.2 パッケージのインストール

パッケージのインストールをする方法は二つある。

  1. install.packages()関数を使う方法
install.packages("ggplot2")
  1. Rstudioの右下の区画の[Packages]タブから、[Install]ボタンを押して、ダイアログに従ってインストール

5.3 よく使うパッケージのインストール

tidyverseと呼ばれるパッケージをインストールしてみよう。

install.packages("tidyverse")

実はこのtidyverseはパッケージであり、複数のパッケージがインストールされる。

5.3.1 Tidyverseについて

Tidyverseというパッケージ群はggplot2, dplyr, tidyr, readr, purrr, tibble, stringr, forcats, lubridateという複数のパッケージを含む

たとえばggplot2は図を描くためのパッケージであり、plot()関数などとかぶる。実際に、ggplot2ではplot()と同じような図を出力することができる。Tidyverseシリーズは、データをより直感的に扱うための哲学に基づいて開発されており、Rオリジナルの関数ではないが、多くの人が使うパッケージ群となっておりRを学ぶならばほぼ必須といえる状態になりつつある。

5.4 パッケージの使い方1

パッケージの使い方は2通りある。 パッケージに入っている関数を使うためには、パッケージを読み込む

## library()でパッケージの読み込み
library(tidyverse)

読み込んだ後は、パッケージに含まれている関数が普通に使える。

## read_csvはtidyverseに入っているreadrというパッケージに含まれる
data1 <- read_csv("data/data1.csv")

一般的には、コード(Rスクリプト)を書く際に、コードの冒頭でパッケージを読みこんで置くことが一般的である。

# コードの例

# ライブラリ
library(tidyverse)

# データの読み込み
data_634 <- read_csv("data/hogehoge.csv")

# データのサマリー
summary(data_634)

5.5 パッケージの使い方2

読み込んでいないパッケージの関数を使おうとするとエラーが出る。

## read_csvはtidyverseに入っているreadrというパッケージに含まれる
data1 <- read_csv("data/data1.csv")
## Error in read_csv("data/data1.csv"): could not find function "read_csv"

パッケージ名と関数名を::で繋ぐと、読み込んでいなくても使える。

data1 <- readr::read_csv("data/data1.csv")

これが2つ目のパッケージの使い方である。 そのスクリプトであまり使わないが一回だけ使いたいケースや、一般的でないパッケージや関数なので何のパッケージに入っている関数なのかを明示したい際に使う。

5.6 パッケージの注意点

パッケージは一旦インストールすると、Rには入っているが、使う際にはlibraryで読み込むか、2の方法で呼び出す必要がある。

Rのバージョンを更新(新しいRをインストール)すると、過去にダウンロードしたパッケージをインストールし直す必要があるので、もしRを更新した場合は注意しよう。