はじめに

箱ひげ図(Boxplot)は、データの分布を直感的に把握できる強力な可視化手法です。中央値・四分位範囲・外れ値を一度に確認できるため、臨床試験、品質管理、教育研究など幅広い分野で利用されています。本記事では、SASとRで箱ひげ図を作成する方法を、実際のデータとともにわかりやすく解説します。

箱ひげ図の基本構造

  • 箱(Box):第1四分位(Q1)〜第3四分位(Q3)
  • 箱の中央線:中央値(Median)
  • ひげ(Whisker):Q1 − 1.5×IQR 〜 Q3 + 1.5×IQR
  • 外れ値(Outliers):(存在するならば)ひげの外側にある点

2. 使用するサンプルデータ

架空のデータとして、治療群ごとの血圧(SBP)を例にします。

IDGroupSBP
1A120
2A135
3A140
4B150
5B160
6B170

SAS・Rともに同じデータを使います。

SASでの箱ひげ図作成(SGPLOT)

データの準備

data bp;
input ID Group $ SBP;
datalines;
1 A 120
2 A 135
3 A 140
4 B 150
5 B 160
6 B 170 ;
run;

基本的な箱ひげ図(PROC SGPLOT)

proc sgplot data=bp;
vbox SBP / category=Group;
xaxis label=”Group”;
yaxis label=”Systolic Blood Pressure (mmHg)”;
run;

✔ 出力イメージ

  • Group A と B の箱ひげ図が並ぶ
  • 中央値・IQR・外れ値が自動計算される

■ 見やすくするためのオプション

🔹 色を変更

vbox SBP / category=Group fillattrs=(color=lightblue);

🔹 外れ値のマーカーを変更

vbox SBP / category=Group outlierattrs=(symbol=circlefilled color=red);

🔹 平均値を追加

vbox SBP / category=Group meanattrs=(symbol=diamondfilled color=black);

🔹 軸の範囲を調整

yaxis min=100 max=200;

Rでの箱ひげ図作成(base + ggplot2)

データ準備

データ準備

bp <- data.frame(
ID = 1:6,
Group = c(“A”,”A”,”A”,”B”,”B”,”B”),
SBP = c(120,135,140,150,160,170)
)

base R の boxplot()

base R の boxplot()

boxplot(SBP ~ Group, data = bp,
xlab = “Group”,
ylab = “Systolic Blood Pressure (mmHg)”,
col = “lightblue”)

✔ base R の特徴

  • シンプルで軽量
  • 細かいカスタマイズはやや難しい

ggplot2 での箱ひげ図(推奨)

ggplot2 での箱ひげ図(推奨)

library(ggplot2)

ggplot(bp, aes(x = Group, y = SBP)) +
geom_boxplot(fill = “lightblue”, outlier.color = “red”) +
labs(x = “Group”, y = “Systolic Blood Pressure (mmHg)”)

■ 見やすくするためのオプション

🔹 平均値を追加

geom_point(stat=”summary”, fun=”mean”, shape=23, size=3, fill=”black”)

🔹 箱の幅を調整

geom_boxplot(width = 0.5)

🔹 外れ値の形状・色を変更

geom_boxplot(outlier.shape = 8, outlier.color = “red”)

🔹 テーマを整える

theme_bw()

SAS と R の比較

項目SASR(ggplot2)
使いやすさGUIでも作れるコード中心
柔軟性高いが制限あり非常に高い
見た目標準的美しいグラフが簡単
製薬業界での利用非常に多い近年増加中
外れ値処理自動自動だが調整しやすい

まとめ

箱ひげ図は、データの分布を一目で把握できる非常に有用な可視化手法です。中央値や四分位範囲、外れ値といった統計的に重要な指標を同時に確認できるため、大学でのデータ分析教育から企業・製薬業界の実務まで幅広く活用されています。
本記事では、SASとRの両方で箱ひげ図を作成する方法を紹介しました。SASでは PROC SGPLOT を用いることで、色や外れ値の形状、平均値の追加など柔軟なカスタマイズが可能です。Rでは ggplot2 を使うことで、より美しく、拡張性の高いグラフを簡単に作成できます。どちらの環境でも、色付け、外れ値の強調、平均値の追加、軸範囲の調整といった工夫を加えることで、読み手にとって理解しやすい図を作成できます。
SASは製薬業界や企業での利用が多く、Rは研究・教育分野での利用が広がっているため、両方のツールで箱ひげ図を作成できるスキルはデータ分析の現場で大きな強みになります。今回紹介したコードとオプションを活用し、目的に応じて見やすく、伝わりやすい可視化を実現していただければと思います。

ABOUT ME
tomokichi
外資系製薬会社で生物統計家として働ている1児のパパ。生物統計家とは何か、どのようなスキルが必要か、何を行っているのかを共有していきたいと思っております!生物統計に関する最新情報を皆様にお届けすべく、日々奮闘中です。趣味は筋トレ、温泉巡り、家族と散歩。