如何在 r 中重新排列箱线图(附示例)


通常您可能想在 R 中重新排列箱线图。

以下示例展示了如何使用两种不同的方法来执行此操作:

  • 方法一:按照特定顺序重新排列
  • 方法2:根据箱线图中值重新排列

每个示例都将使用 R 中的内置空气质量数据集:

 #view first six lines of air quality data
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

这是该数据集的多箱线图,无需指定顺序:

 #create boxplot that shows distribution of temperature by month
boxplot(Temp~Month, data=airquality, col=" lightblue ", border=" black ")

示例 1:根据特定顺序重新排列箱线图

以下代码显示如何根据Month变量的以下顺序对箱线图进行排序:5、8、6、9、7。

 #reorder Month values
airquality$Month <- factor(airquality$Month , levels =c(5, 8, 6, 9, 7))

#create boxplot of temperatures by month using the order we specified
boxplot(Temp~Month, data=airquality, col=" lightblue ", border=" black ")

请注意,箱线图现在按照我们使用级别参数指定的顺序显示。

相关: 如何重新排列 R 中的因子水平

示例 2:根据中值重新排列箱线图

以下代码显示如何根据每月的中位温度值按升序对箱线图进行排序:

 #reorder Month values in ascending order based on median value of Temp
airquality$Month <- with(airquality, reorder(Month, Temp, median, na. rm = T ))

#create boxplot of temperatures by month
boxplot(Temp~Month, data=airquality, col=" lightblue ", border=" black ") 

箱线图现在根据每个月的中值按升序显示。

注意:每个箱线图的中值是穿过每个箱线中间的水平黑线。

我们还可以通过在重新排序函数中在 Temp 前面使用负号来按降序对箱线图进行排序:

 #reorder Month values in descending order based on median value of Temp
airquality$Month <- with(airquality, reorder(Month, -Temp, median, na. rm = T ))

#create boxplot of temperatures by month
boxplot(Temp~Month, data=airquality, col=" lightblue ", border=" black ") 

箱线图现在根据每个月的中值按降序显示。

其他资源

以下教程解释了如何在 R 中执行其他常见操作:

如何在 R 中绘制多个箱线图
如何在 R 中创建水平箱线图
如何删除 R 箱线图中的异常值

添加评论

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