如何在 R 中使用 ggplot2 按均值更改箱线图的顺序?


要按均值更改箱线图的顺序,我们可以在 ggplot 的 aes 中使用 reorder 函数。例如,如果我们有一个名为 df 的数据框,其中包含两列,分别为 x(类别)和 y(计数),那么我们可以按均值对数据框进行排序,并使用命令 ggplot(df,aes(x=reorder(x,y,mean),y))+geom_boxplot() 创建箱线图。

示例

考虑以下数据框 −

实时演示

> x<-c(rep(c("A","B","C"),times=c(10,5,5)))
> y<-c(rpois(10,25),rpois(5,10),rpois(5,2))
> df<-data.frame(x,y)
> df

输出

   x  y 1  A 22 2  A 17 3  A 20 4  A 36 5  A 34 6  A 25 7  A 25 8  A 30 9  A 23 10 A 29 11 B  8 12 B  8 13 B  6 14 B  8 15 B 12 16 C  0 17 C  4 18 C  3 19 C  2 20 C  1

加载 ggplot2 包并针对 x 中的类别创建箱线图 −

> library(ggplot2)
> ggplot(df,aes(x,y))+geom_boxplot()

输出

针对 x 中的类别创建按 y 均值排序的箱线图 −

> ggplot(df,aes(x=reorder(x,y,mean),y))+geom_boxplot()

输出

更新于: 2021 年 3 月 6 日

743 次浏览

开始你的 职业生涯

完成该课程并获得认证

开始
广告