R で 1 つのグラフに複数の箱ひげ図をプロットする方法
箱ひげ図(箱ひげ図とも呼ばれます) は、一連のデータの 5 つの数値の要約を示すプロットです。
5 つの数字の要約には次のものが含まれます。
- 最小値
- 最初の四分位
- 中央値
- 第 3 四分位
- 最大値
このチュートリアルでは、Base R と ggplot2 を使用して、R の単一のプロットで複数の箱ひげ図をプロットする方法について説明します。
R ベースの箱ひげ図
R で箱ひげ図を作成する方法を説明するために、R に組み込まれている大気質データセットを使用します。
#view first 6 rows of "air quality" dataset
head(airquality)
#Ozone Solar.R Wind Temp Month Day
#1 41 190 7.4 67 5 1
#2 36 118 8.0 72 5 2
#3 12 149 12.6 74 5 3
#4 18 313 11.5 62 5 4
#5 NA NA 14.3 56 5 5
#6 28 NA 14.9 66 5 6
「Ozone」変数の単一の箱ひげ図を作成するには、次の構文を使用できます。
#create boxplot for the variable “Ozone”
boxplot(airquality$Ozone)
これにより、次の箱ひげ図が生成されます。
代わりに、データセット内の月ごとに箱ひげ図を生成したいとします。次の構文は、これを行う方法を示しています。
#create boxplot that displays temperature distribution for each month in the dataset
boxplot(Temp~Month,
data=airquality,
main="Temperature Distribution by Month",
xlab="Month",
ylab="Degrees (F)",
col="steelblue",
border="black"
)
これにより、各月の箱ひげ図を表示する次のグラフが生成されます。
ggplot2 の箱ひげ図
R で箱ひげ図を作成するもう 1 つの方法は、 ggplot2パッケージを使用することです。次の例では、組み込みの大気質データセットを再度使用します。
大気質データセット内の「オゾン」変数の単一の箱ひげ図を作成するには、次の構文を使用できます。
#create boxplot for the variable “Ozone”
library(ggplot2)
ggplot(data = airquality, aes(y=Ozone)) + geom_boxplot()
これにより、次の箱ひげ図が生成されます。
代わりに、データセット内の月ごとに箱ひげ図を生成したい場合は、次の構文を使用して実行できます。
#create boxplot that displays temperature distribution for each month in the dataset
library(ggplot2)
ggplot(data = airquality, aes(x=as.character(Month), y=Temp)) +
geom_boxplot(fill="steelblue") +
labs(title="Temperature Distribution by Month", x="Month", y="Degrees (F)")
これにより、各月の箱ひげ図を表示する次のグラフが生成されます。
追加リソース
次のチュートリアルでは、箱ひげ図に関する追加情報を提供します。
箱ひげ図を使用する必要があるのはどのような場合ですか? (3つのシナリオ)
箱ひげ図で非対称性を特定する方法
箱ひげ図を比較する方法