Rの基礎7 パッケージ/ライブラリ

Rの基礎7は、Rでのライブラリ(パッケージ)の使い方と代表的なパッケージについて説明します。パッケージとは、Rにない機能をあとから足すためのもので、Rにインストールして用います。基本的にはCRANがパッケージの管理を行っており、20000個以上のパッケージがCRANには存在します。CRAN以外からインストールする場合(Githubが最も多い)もあります。パッケージのインストールは、install.package("パッケージ名")関数で行います。ソフトウェアをWindowsなどにインストールするのと同じで、install.package関数は自動的にCRANのサーバーからパッケージのファイルをダウンロードし、適切な場所に保存してくれます(サーバーの位置を選択する機能が昔からRにはありますが、気にする必要はほぼありません)。インストールしたパッケージはlibrary(パッケージ名)で呼び出します。呼び出さないと使えないのがパッケージの特徴の一つです。インストール済みのパッケージに関してもlibrary()関数で確認することができます。

ここからはよく使用されるパッケージの説明です。2015年頃からのRでは、Rstudioの開発チームが開発を行っている一連のパッケージ群が頻繁に使用されています。一連のパッケージ群はtidyverseと呼ばれ、install.packages("tidyverse")でパッケージ群をすべて一度にインストールすることができ、library(tidyverse)で一度に呼び出すことができます。tidyverseのパッケージの中でもよく使われるのが、ggplot2と呼ばれるものです。簡単に美しいグラフを作成可能であるため、現在ではRのデフォルトのグラフィックパッケージ(plot関数やpairs関数など)よりも一般的に用いられています。データフレームの操作にはdplyrやtidyrなどのパッケージに含まれる関数群(gatherやgroup_by、summariseなどを含む多くの関数が設定されています)が用いられています。Rではデータフレームを操作する場面が非常に多いため、使用方法を覚えると非常に便利なパッケージとなっています。文字列の操作ではstringrと呼ばれるパッケージが用いられます。

tidyverseでggplot2と同様に頻繁に用いられるものは、magrittrだと思われます。magrittrはパイプ演算子(%>%)を扱うためのパッケージで、RstudioでのRの記法ではほぼ標準として用いられます。パイプ演算子は前項の結果を後項の関数の第一引数にするという演算子で、一連の操作を1行で記述するときに頻繁に用いられます。その他のパッケージでは、時間や日付のデータを取り扱うlubridate、RでWordやPDFの報告書を作成する際に用いられるknitrやrmarkdown、githubなどのCRAN以外からのパッケージインストールで使用されるdevtoolsなどがtidyverseの周辺パッケージとしてよく用いられています。

Rでは、tidyverseに代表されるデータの取り扱いのパッケージ以外にも、統計手法に関するライブラリが充実しています。機械学習ディープラーニング、時系列解析からMCMCを用いたベイズ統計まで、一連のパッケージが揃っており、使用したい場合にはGoogleなどで統計手法とRをキーワードに検索することで使用方法をほぼ日本語で調べることができます。