箱ひげ図をSASとRで実装する方法― 実データを使ったコード解説と見やすくするための工夫 ―

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

- 箱(Box):第1四分位(Q1)〜第3四分位(Q3)
- 箱の中央線:中央値(Median)
- ひげ(Whisker):Q1 − 1.5×IQR 〜 Q3 + 1.5×IQR
- 外れ値(Outliers):(存在するならば)ひげの外側にある点
2. 使用するサンプルデータ
架空のデータとして、治療群ごとの血圧(SBP)を例にします。
| ID | Group | SBP |
| 1 | A | 120 |
| 2 | A | 135 |
| 3 | A | 140 |
| 4 | B | 150 |
| 5 | B | 160 |
| 6 | B | 170 |
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 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()
boxplot(SBP ~ Group, data = bp,
xlab = “Group”,
ylab = “Systolic Blood Pressure (mmHg)”,
col = “lightblue”)

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











