R中重排序函数的奇异行为

R中重排序函数的奇异行为,r,dataframe,ggplot2,R,Dataframe,Ggplot2,此简单示例演示了“重新排序”命令的工作情况: library(ggplot2) df <- data.frame(Category = sample(LETTERS), Count = rpois(26, 6)) ggplot(df, aes(reorder(Category, -Count), Count)) + geom_bar(stat = "identity") 在第二个例子中,顺序似乎很随机,而第一个例子显然是降序的。有什么区别?第二个例子是如何排序的?我想不出来。您的

此简单示例演示了“重新排序”命令的工作情况:

library(ggplot2)    
df <- data.frame(Category = sample(LETTERS), Count = rpois(26, 6))
ggplot(df, aes(reorder(Category, -Count), Count)) + geom_bar(stat = "identity")

在第二个例子中,顺序似乎很随机,而第一个例子显然是降序的。有什么区别?第二个例子是如何排序的?我想不出来。

您的第一个数据帧
df
已经聚合,而
mpg
没有聚合。因此,在重新排序因子级别之前,应首先聚合数据帧,请尝试:

library(dplyr)
mpg <- mpg %>% group_by(manufacturer) %>% summarize(hwy=sum(hwy))
ggplot(mpg, aes(reorder(manufacturer, -hwy), hwy)) + geom_bar(stat = "identity")
库(dplyr)
mpg%分组单位(制造商)%>%汇总(hwy=总和(hwy))
ggplot(mpg,aes(重新订购(制造商,-hwy,hwy))+geom_bar(stat=“identity”)
希望这有帮助

library(dplyr)
mpg <- mpg %>% group_by(manufacturer) %>% summarize(hwy=sum(hwy))
ggplot(mpg, aes(reorder(manufacturer, -hwy), hwy)) + geom_bar(stat = "identity")