如何在 r 中的单个图中绘制多个箱线图
箱线图(有时称为箱须图)是显示一组数据的五数摘要的图。
五数概括包括:
- 最小值
- 第一个四分位数
- 中值
- 第三个四分位数
- 最大值
本教程介绍如何使用 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 中创建箱线图的另一种方法是使用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)")
这会生成以下图表,其中显示每个月的箱线图:
其他资源
以下教程提供有关箱线图的更多信息: