2017-04-21 77 views
0

我正在尝试根据每个var1级别的男性+女性总数对此barplot进行重新排序。但是,我在fct_reorder上做错了,现在它只是根据male的值total重新排序。如何根据两个属性对ggplot中的因子进行排序?

library(fct_relabel) 
ff <- data.frame(var1=c('a','a','b','b'), var2=c('male', 'female', 'male', 'female'), total=c(40, 60, 30, 90)) 
      ggplot(data= ff, aes(x = fct_reorder(var1, total), y=total, fill=var2)) + 
      geom_bar(stat = 'identity') 

回答

0

您需要使用sum功能fct_reorder:默认情况下它使用total值,而不是总和的中位数:

ggplot(data= ff, aes(x = fct_reorder(var1, total, sum), y=total, fill=var2)) + 
    geom_bar(stat = 'identity') 
相关问题