私はこのフォーラムで答えを見ましたが、この特定の問題に対する答えを見つけることができないようです。次のデータがあり、棒をアルファベット順に並べるのではなく、「値」の観点から棒を最大から最小に並べた棒グラフを作成します。
breadth_data <- read.table(textConnection("Stakeholder Value
'Grantseekers' 0.90
'Donors' 0.89
'Community' 0.55
'Hurricane Relief Fund' 0.24
'Media' 0.19
'Employment Seekers' 0.12
'Affiliates' 0.10
'Youth' 0.09
'Women' 0.02
'Former Board Members' 0.01"), header=TRUE)
次に、基本的な棒グラフ:
c <- ggplot(breadth_data, aes(x=Stakeholder, y=Value))
c + geom_bar(stat="identity") + coord_flip() + scale_y_continuous('') + scale_x_discrete('')
StackOverflowで見たさまざまな並べ替えと変換の多くを試しましたが、動作するものを見つけることができないようです。これはかなり簡単だと確信していますが、助けていただければ幸いです!
ありがとう、
グレッグ
関数reorder()
が必要です:
_breadth_data <- transform(breadth_data,
Stakeholder = reorder(Stakeholder, Value))
_
与えるもの:
それらを逆方向にしたい場合、簡単な方法は、order()
呼び出し内のValue
でreorder()
を使用することです。
_breadth_data <- transform(breadth_data,
Stakeholder = reorder(Stakeholder,
order(Value, decreasing = TRUE)))
_