Rで解析:IPEA(応用経済研究所)の編集基準に沿ったggplot2グラフィックスを作る「ipeaplot」パッケージの紹介
経済研究の分野では、データ分析や可視化は日常的な作業の一つです。特に政策評価や社会実験を伴う研究では、結果を明確かつ正しく伝えるための図表作成が重要です。「ggplot2」パッケージと組み合わせて使える「ipeaplot」パッケージは、Ipea(応用経済研究所)の編集基準に則って、図表を作る手助けをしてくれます。例えば、theme_ipeaやscale_color_ipeaなどのコマンドを使うことで、研究成果を分かりやすく提示することができます。このパッケージは、ggplot2の機能性とIpeaの編集基準を組み合わせることで、図表作成の課題を解決してくれます。
パッケージバージョンは0.5.3。Windows 11 x64 (build 26200)のR version 4.6.1で確認しています。
パッケージのインストール
下記コマンドを実行してください。
# パッケージのインストール
install.packages("ipeaplot")
# パッケージの読み込み
library("ipeaplot")
# コマンド例実行で必要なパッケージを読み込み
library("ggplot2")スポンサーリンク
コマンド例
詳細はコメント、パッケージのヘルプを確認してください。
IPEA = Institute for Applied Economic Researchの略で、ブラジル計画予算省傘下の公的機関です。https://www.ipea.gov.br/portal
IPEAの編集基準のggplot2テーマを適用:theme_ipeaコマンド
| オプション | 意味 | 初期値 |
|---|---|---|
| axis_lines | 軸のスタイルを指定する;”none”、”full”、”half”のいずれか | “full” |
| axis_values | 軸テキストを表示するかどうかを指定する;TRUEの場合は黒色で表示される | TRUE |
| legend.position | 凡例の位置を指定する;”right”、”left”、”top”、”bottom”のいずれか | “right” |
| grid.adjust | 格子線の方向を指定する;”horizontal”、”vertical”のいずれか | “horizontal” |
| x_breaks | x軸の分割数を指定する | NULL |
| y_breaks | y軸の分割数を指定する | NULL |
| expand_x_limit | x軸の境界を拡張するかどうかを指定する | TRUE |
| expand_y_limit | y軸の境界を拡張するかどうかを指定する | TRUE |
| x_text_angle | x軸のテキストの角度を指定する(度単位) | 0 |
| include_x_text_title | xテキストタイトルを含めるかどうかを指定する | TRUE |
| include_y_text_title | 真偽値。yのテキストタイトルを含めるかどうか | TRUE |
| include_ticks | 真偽値。チックを含めるかどうか | TRUE |
ggplot() +
geom_col(data = mtcars, aes(x = hp , y = mpg, fill = cyl)) +
theme_ipea()
スケールのカラーパレットを作成:scale_color_ipeaコマンド
| オプション | 意味 | 初期値 |
|---|---|---|
| palette | カラーパレットの指定。デフォルトは「Blue」 | c(“Blue”, “Green”, “Orange”, “Pink”, “Pink-Deep”, “Green-Blue”, “Green-Blue-White”, “Red-Blue”, “Red-Blue-White”, “Orange-Blue”, “Orange-Blue-White”, “Viridis”, “Inferno”, “Magma”, “Plasma”, “Cividis”) |
| palette_direction | 色の並び順を指定;1(既定)でパレット本来の順序、-1で逆順 | 1 |
| decimal.mark | 小数点や3桁区切りの文字を指定;ブラジルポルトガル語の慣例に合わせデフォルトはカンマ | “,” |
| barheight | 色グラデーションバーの高さ | NULL |
| barwidth | 色グラデーションバーの幅 | NULL |
| title.hjust | タイトルテキストの水平位置 | NULL |
| label.hjust | ラベルテキストの水平位置 | NULL |
# デフォルトで使用
ggplot() +
geom_point(data = mtcars, aes(x = hp , y = mpg, color = cyl)) +
scale_color_ipea()
# 緑系のカラーパレット
ggplot() +
geom_point(data = mtcars, aes(x = hp , y = mpg, color = cyl)) +
scale_color_ipea(palette = "Green")塗色のカラーパレットを作成:scale_fill_ipeaコマンド
| オプション | 意味 | 初期値 |
|---|---|---|
| palette | 色パレットの指定。デフォルトは「Blue」 | c(“Blue”, “Green”, “Orange”, “Pink”, “Pink-Deep”, “Green-Blue”, “Green-Blue-White”, “Red-Blue”, “Red-Blue-White”, “Orange-Blue”, “Orange-Blue-White”, “Viridis”, “Inferno”, “Magma”, “Plasma”, “Cividis”) |
| palette_direction | 色の並び順を指定;1(既定)でパレット本来の順序、-1で逆順 | 1 |
| decimal.mark | 小数点や3桁区切りの文字を指定;ブラジルポルトガル語の慣例に合わせデフォルトはカンマ | “,” |
| barheight | 色グラデーションバーの高さ | NULL |
| barwidth | 色グラデーションバーの幅 | NULL |
| title.hjust | タイトルテキストの水平位置 | NULL |
| label.hjust | ラベルテキストの水平位置 | NULL |
# 初期値でggplot2グラフ用の塗りつぶしスケールを作成
fig_raw <- ggplot() +
geom_col(data = mtcars, aes(x = hp , y = mpg, fill = cyl)) +
scale_fill_ipea()
# 緑系の連続パレットでggplot2グラフ用の塗りつぶしスケールを作成
fig_raw <- ggplot() +
geom_col(data = mtcars, aes(x = hp , y = mpg, fill = cyl)) +
scale_fill_ipea(palette = "Green")
収録カラーパレットを表示:ipea_palコマンド
| オプション | 意味 | 初期値 |
|---|---|---|
| palette | 色彩地図の使用オプションを指定する文字列 | c(“Blue”, “Green”, “Orange”, “Pink”, “Pink-Deep”, “Green-Blue”, “Green-Blue-White”, “Red-Blue”, “Red-Blue-White”, “Orange-Blue”, “Orange-Blue-White”, “Viridis”, “Inferno”, “Magma”, “Plasma”, “Cividis”) |
| alpha | 透明度を指定する数値(0~1) | 1 |
| begin | 色彩地図の始まりの位置を指定する数値(0~1) | 0 |
| end | 色彩地図の終わりの位置を指定する数値(0~1) | 1 |
| palette_direction | 色の順序を指定;1(既定)で暗い色から明るい色の順、-1で逆順 | 1 |
# 初期値のパレットで10色を表示
scales::show_col(ipea_pal()(10))
# 色の並び順を逆にして6色を表示
scales::show_col(ipea_pal(palette_direction = -1)(6))
# 色彩地図の一部の範囲(0.2〜0.8)から4色を表示
scales::show_col(ipea_pal(begin = 0.2, end = 0.8)(4))
# 緑系パレットで6色を表示
scales::show_col(ipea_pal(palette = "Green")(6))
実行例
パッケージの機能を組み合わせた、実践的な使い方の例です。
IPEAチャートの基本的なテーマと色設定
# データの作成
set.seed(123)
data <- data.frame(
category = c("A", "B", "C"),
value = rnorm(3, mean = 50, sd = 10)
)
# IPEAテーマと色設定を適用したグラフの作成
ggplot(data, aes(x = category, y = value, fill = category)) +
geom_bar(stat = "identity") +
theme_ipea() +
scale_fill_ipea()
ヒストグラムにIPEAテーマと色設定を適用
# グループ分けした乱数データを生成
set.seed(789)
hist_data <- data.frame(
value = rnorm(100, mean = 50, sd = 10),
group = sample(c("Group 1", "Group 2"), 100, replace = TRUE)
)
# IPEAテーマと色設定を適用したヒストグラムの作成
ggplot(hist_data, aes(x = value, fill = group)) +
geom_histogram(binwidth = 2, color = "black") +
theme_ipea() +
scale_fill_ipea(palette = "Orange")
この記事が誰かの役に立ちますように。
スポンサーリンク