51

私はこのフォーラムの回答を調べましたが、この特定の問題に対する回答を見つけることができないようです。次のデータがあり、アルファベット順ではなく、「値」の観点から棒が最大から最小の順に並べられた棒グラフを作成したいと思います。

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で見たさまざまな並べ替えや変換を試しましたが、機能するものが見つからないようです。これはかなり簡単だと思いますが、助けていただければ幸いです。

ありがとう、

グレッグ

4

1 に答える 1

71

あなたは機能が欲しいreorder()

breadth_data <- transform(breadth_data, 
                          Stakeholder = reorder(Stakeholder, Value))

これは次のようになります。

再注文された棒グラフ

逆にしたい場合、簡単な方法は、通話内で使用order()することです。Valuereorder()

breadth_data <- transform(breadth_data,
                          Stakeholder = reorder(Stakeholder, 
                                                order(Value, decreasing = TRUE)))
于 2011-05-11T16:41:09.723 に答える