データ フレームを 2 列で注文しようとしています。これは注文で簡単に行うことができ、印刷することで機能することがわかります。ただし、ggplot を使用しようとすると、順序が無視されるようです。
reorder ggplot を使用すると、順序が正しくなります。問題は、並べ替えを使用して 2 つの異なる列で並べ替える方法が見つからなかったことです。並べ替えるだけです。
したがって、列「name」、「a」、および「b」を持つデータフレームがあります
使用順序:
dfm <- dfm[order(dfm$a, dfm$b, decreasing=TRUE), ]
print (dfm) # prints correct ordering by two columns
ggplot(dfm, aes(x=name, y=a)) + geom_bar(aes(fill=tipo)) # plots in alphabetical ordering by name
順序または列 a のみ、ggplot はそれを正しく取得します。
dfm$name <- reorder (dfm$name, dfm$a)
print (dfm) # prints correct ordering by one column
ggplot(dfm, aes(x=name, y=a)) + geom_bar(aes(fill=tipo)) # plots in order by a
実際には積み上げ棒グラフをプロットしているので、y は実際には a ではなく a と b ですが、順序付けの動作は常に同じです。
何か案は?私はしばらくの間これに苦労してきました...