R のグラフ | ggplot2 の前に知っておきたい graphics と lattice の実力
R によるグラフ作成といえば、パッケージ ggplot2 が真っ先に挙げられるでしょう。
「グラフィックスの文法 (Grammar of Graphics)」という統一的な文法体系に基づき、洗練されたデザインのグラフを容易に作成できる点は大きな魅力です。論文やプレゼンテーションなどの発表資料に、「見せるグラフ」を作成する上で ggplot2 は事実上の標準となっています。
しかし、データ解析の全体を見渡すと、グラフを用いる目的は「見せる」ことに限られません。データ解析の初期段階では、データの分布や外れ値の有無、変数間の関係性などを手早く確認する「見るグラフ」が求められます。
こうした場面では、R に標準で備わっているパッケージ graphics やパッケージ lattice の関数が大いに役立ちます。
パッケージ graphics の特長
graphics は R の基本パッケージ群に含まれており、R 起動時に自動的にロードされるため、標準関数として即座に利用できます(パッケージ stats, base の中にもグラフ作成用の関数が含まれる)。
シンプルで直感的な文法に基づいてグラフを作成できるため、手早く「見るグラフ」を作成してデータの概要を可視化するのに適しています。
たとえば、散布図、ヒストグラム、箱ひげ図の最もシンプルなコードは以下のようになります。
・plot(x, y) :散布図(x, y は数値ベクトル、下図)
・hist(y) :ヒストグラム(y は数値ベクトル、下図)
・boxplot(y ~ g) :箱ひげ図(y は数値ベクトル、g は因子ベクトル、下図)
このコードの簡潔性は、データ解析の初期段階でデータの分布や外れ値を迅速に把握するために非常に有効です。
また、graphics は R の基本的な統計解析機能とシームレスに統合されているため、データ分析の流れを妨げることなくグラフを作成できます。例えば、線形モデルオブジェクト lm_model について plot(lm_model) を実行すると、残差プロットの診断図が自動的に生成されます。
さらに、points()、lines()、legend() といった低水準関数を使って、既存のグラフに要素を「上書き」する形でカスタマイズできる点も特徴です。分析の流れを妨げることなく、グラフを逐次的に改良できます。
パッケージ lattice の特徴
lattice は標準でインストールされているので、使用時にロードすると直ちに利用できます。
Trellis graphics(トレリス・グラフィックス)の考え方に基づいたパッケージで、通常のグラフはもちろんのこと、多変量データや条件付きプロットなどに対して強力なツールになります。
条件付きプロットとは、データを特定のカテゴリ変数でグループ分け(層別)して、それぞれのグループごとにグラフを描画して並べる手法です。
たとえば、散布図、ヒストグラム、箱ひげ図の最もシンプルなコードは以下のようになります。
・xyplot(y ~ x | g) :カテゴリ変数 g でグルーブ分けした散布図(下図)
・histogram(~ y | g) :カテゴリ変数 g でグループ分けしたヒストグラム
・bwplot(y ~ x | g) :カテゴリ変数 g でグルーブ分けした箱ひげ図
このように、1 つの関数によって複数のパネル(グラフ)を整然と並べて描画できるため、複数のグループ間での比較や交互作用の確認が簡単に行えます。これは探索的分析において非常に役立ちます。
lattice のもう一つの強みは、グラフの各要素(軸、ラベル、パネルなど)を詳細かつ統一的に制御する「テーマ」に基づいてカスタマイズできる点です。これにより、特定の分析ニーズに応じた視覚化や、複数のグラフを一貫したスタイルで作成することが容易になります。
「見るグラフ」と「見せるグラフ」の使い分け
探索データ解析(EDA)から確証的データ解析を経て、結果の取りまとめから公表へと進む過程で、「見るグラフ」と「見せるグラフ」を作成する目的意識を持ち、パッケージを使い分けることがデータ解析の上達を図るコツだと言えるでしょう。
・「見るグラフ」: データの理解と仮説生成のための迅速な可視化
・「見せるグラフ」: 結果を正確かつ効果的に伝えるための洗練された可視化
ggplot2 が提供する美しさと柔軟性は確かに重要ですが、それに先立ち、素早く直感的にデータの特徴を把握するために、graphics を中心とした標準関数と lattice の利用が合理的かつ効率的な選択肢になり得ます。このことは、特に入門者にとって、留意すべきアプローチです。
そこで、パッケージ graphics と lattice の使い方を入門者向けに作成したので、ダウンロードして学習に役立ててください。それぞれのパッケージの内容を網羅してはいませんが、概要を把握できる構成になっているので、スキル向上の基盤作りに役立ててください。
R と RStudio の使い方入門
グラフの作成(1) 標準パッケージ graphics(PDF:12.2 MB)、R スクリプト(20 KB)
グラフの作成(2) パッケージ lattice・・・近日公開予定
Rスクリプトを習得:AIとコミュニケーションする能力を身につける
AI 技術の進展に伴い、これからのデータ解析は AI とユーザーの協働作業になるでしょう。
この新しい時代において、Rと RStudio の基礎的なスキルは、効果的な協働作業を実現するための重要な基盤となります。
AI が提示する統計手法や解析結果を鵜呑みにするのではなく、その妥当性を批判的に吟味し、最終的な判断を下すためには、R スクリプトを読み解き、必要に応じて修正・改良する能力が不可欠です。
AI の支援を最大限活用しつつ、分析プロセスをブラックボックス化させないために、R の基礎的理解の重要性はむしろ高まっているのではないでしょうか。
(2026年1月18日)
