【问题标题】:Strange behavior of reorder function in RR中重新排序函数的奇怪行为
【发布时间】:2018-01-12 16:13:18
【问题描述】:

这个简单的例子演示了重新排序命令的工作原理:

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

如果我将相同的语法应用于不同的数据,则重新排序将不起作用。看这个例子:

ggplot(mpg, aes(reorder(manufacturer, -hwy), hwy)) + geom_bar(stat = "identity")

第二个例子的顺序似乎很随机,第一个例子显然是降序的。有什么不同?第二个例子是如何排序的?我想不通。

【问题讨论】:

    标签: r dataframe ggplot2


    【解决方案1】:

    您的第一个数据框 df 已聚合,而 mpg 尚未聚合。因此,在重新排序因子级别之前,您应该首先聚合您的数据框,尝试:

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

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2015-12-06
      • 2018-11-22
      • 2011-03-13
      • 2013-03-04
      • 1970-01-01
      • 2017-09-14
      • 2012-12-17
      • 2011-03-06
      • 1970-01-01
      相关资源
      最近更新 更多