17

I'm baffled as to why the boxplots are not ordering in this plot:

set.seed(200)
x <- data.frame(country=c(rep('UK', 10), 
                          rep("USA", 10), 
                          rep("Ireland", 5)),
                wing=c(rnorm(25)))

ggplot(x, aes(reorder(country, wing, median), wing)) + geom_boxplot()

enter image description here

How can I order the boxplots based on highest-lowest medians (left to right)?

4

3 回答 3

6

因为你没有让它成为一个有序的因素。尝试

ggplot(x, aes(reorder(country, wing, median, order=TRUE), wing)) + geom_boxplot()

在此处输入图像描述

于 2013-05-18T10:13:31.170 回答
1

您的代码应该可以正常工作。可能你有一些包加载了一个屏蔽基本reorder函数的函数,或者可能是一个用户定义的reorder函数,它的工作方式不同。

您可以使用 . 检查此类名称冲突conflicts()。分离包,rm(reorder)或重新启动 R 并在不定义/附加冲突定义的情况下重试将解决问题。

于 2018-06-28T13:48:33.417 回答
-1
ggplot(x, aes(reorder(country, wing, FUN = median), wing)) + geom_boxplot()
于 2017-06-15T13:00:25.383 回答