8

ggplot の barplot からゼロ値を除外できるかどうかは誰にもわかりませんか?

次のような比率を含むデータセットがあります。

 X5employf       prop X5employff
1   increase 0.02272727           
2   increase 0.59090909          1
3   increase 0.02272727   1  and 8
4   increase 0.02272727          2
5   increase 0.34090909          3
6   increase 0.00000000          4
7   increase 0.00000000          5
8   increase 0.00000000          6
9   increase 0.00000000    6 and 7
10  increase 0.00000000   6 and 7 
11  increase 0.00000000          7
12  increase 0.00000000          8
13  decrease 0.00000000           
14  decrease 0.00000000          1
15  decrease 0.00000000   1  and 8
16  decrease 0.00000000          2
17  decrease 0.00000000          3
18  decrease 0.10000000          4
19  decrease 0.50000000          5
20  decrease 0.20000000          6
21  decrease 0.00000000    6 and 7
22  decrease 0.00000000   6 and 7 
23  decrease 0.10000000          7
24  decrease 0.10000000          8
25      same 0.00000000           
26      same 0.00000000          1
27      same 0.00000000   1  and 8
28      same 0.00000000          2
29      same 0.00000000          3
30      same 0.21052632          4
31      same 0.31578947          5
32      same 0.26315789          6
33      same 0.15789474    6 and 7
34      same 0.00000000   6 and 7 
35      same 0.05263158          7
36      same 0.00000000          8

「prop」列でわかるように、多くのゼロ値があります。「X5employf」列をファセットとして、ファセット棒グラフを作成しています。しかし、値がゼロであるため、プロットに多くの空きスペースができてしまいます (以下を参照)。ゼロ値をプロットしないように ggplot を強制する方法はありますか? これらはNA値ではなく0であるため、未使用の要素を削除する場合ではありません。何か案は??!

プロット例

4

2 に答える 2

9

プロットではwhich、ゼロ以外の比率を含むデータフレームのサブセットのみを使用することを指定するために使用します。この方法では、元のデータフレームを変更する必要はありません。scales次に、内の引数に「free_x」を指定facet_gridして、ファセット プロットの空きスペースを取り除きます。

plot <- ggplot(df[which(df$prop>0),], aes(X5employff, prop)) +
  geom_bar(aes(fill=X5employff, stat="identity")) +
  facet_grid( ~ X5employf, scales="free_x") +
  theme_bw()
plot

ここに画像の説明を入力

Excel から R にすばやくインポートできるように、空白のフィールドを「空白」に置き換えたことに注意してください。

于 2013-07-28T18:48:06.873 に答える