如何在 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)")

这会生成以下图表,其中显示每个月的箱线图:

其他资源

以下教程提供有关箱线图的更多信息:

什么时候应该使用箱线图? (3个场景)
如何识别箱线图中的不对称性
如何比较箱线图

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注