reorderを使ってggplotの棒グラフの並び順を降順にする方法

# サンプルデータの作成 fruits <- c("apple","durian","orange") count <- c(2, 1, 3) df <- data.frame(fruits, count) df # 中身の確認 fruits count 1 apple 2 2 durian 1 3 orange 3 このデータを使って、ggplotで棒グラフを描いてみると、 library(ggplot2) ggplot(df, aes(x=fruits, y=count)) + geom_bar(stat="identity") 並び順はデータのまま 当然ながら、棒の順番はデータ通りに、2、1、3と並びますね。 これをソートしたい場合は、reorderを使います↓ ggplot(df, aes( x=reorder(fruits, count) , y=count)) + geom_bar(stat="identity") reorderすると昇順に並ぶ x軸はfruitsなんだけど、reorder関数の第二引数であるcountの値で並べ替えてから使ってね、という指定です。 で、次の課題です。 reorderを使うと、昇順で1、2、3という並びになりましたが、これを降順の3、2,1という並びにしたいときは、どうやればいいか。 データフレームをソートするときなんかに使うorder関数でいうところの「decreasing=TRUE」みたいな指定があればいいのですが、reorder関数にはそのようなオプションはなさそうです。 で、実はごく簡単で、reorderの第二引数(count)の値の正負が逆になれば、順番も逆になるじゃんという理屈です。 ggplot(df, aes(x=reorder(fruits, -count ), y=count)) + geom_bar(stat="identity") reorder関数の第二引数にマイナスをつければ降順に...