如何在 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 中执行其他常见操作: