2016-11-10 8 views
0

私は、年齢のカテゴリー別に治療グループの観察の割合を比較する相対頻度ヒストグラムをプロットするのに、ggplot2を使用しています。ggplot()のgeom_bar()関数で割合またはカウントがゼロのカテゴリを持つ相対頻度ヒストグラムをプロットするにはどうすればよいですか?

= Treatment_Groupでゼロ観測が存在する例として、以下のデータを使用して「治療= 0」、AGE_GROUP =「30+」カテゴリー:

Treatment_Group <- c("Treat=1","Treat=1","Treat=1","Treat=0","Treat=0") 
Proportion <- c(.1,.6,.3,.5,.5) 
Age_Group <- c("< 20", "20-29", "30+", "< 20", "20-29") 
RelFreq_Data <- data.frame(Treatment_Group, Proportion, Age_Group) 
RelFreq_Data 
    Treatment_Group Proportion Age_Group 
1   Treat=1  0.1  < 20 
2   Treat=1  0.6  20-29 
3   Treat=1  0.3  30+ 
4   Treat=0  0.5  < 20 
5   Treat=0  0.5  20-29 

バーをプロットバー幅をグラフTreatment_Group = "Treat = 1"の場合、Age_Group = "30+"カテゴリは2倍になります。

ggplot(RelFreq_Data,aes(Age_Group,Proportion,fill=Treatment_Group))+ 
+ geom_bar(stat="identity",position="dodge") 

enter image description here

バー幅が均一で残るようにゼロ観察とカテゴリの「詰め物」を追加する方法はありますか?

答えて

1

あなたは割合が0

Treatment_Group <- c("Treat=1","Treat=1","Treat=1","Treat=0","Treat=0", "Treat=0") 
Proportion <- c(.1,.6,.3,.5,.5, 0) 
Age_Group <- c("< 20", "20-29", "30+", "< 20", "20-29", "30+") 
RelFreq_Data <- data.frame(Treatment_Group, Proportion, Age_Group) 
ggplot(RelFreq_Data, aes(Age_Group, Proportion, fill = Treatment_Group)) + geom_bar(stat="identity", position="dodge") 
+3

ではなく、データフレームを変更され、あなたはまた、追加するために '' tidyr'パッケージからcomplete'を使用できるのカテゴリを示すデータの行を必要としますレベルがありません。この場合、データ引数を 'RelFreq_Data'から' complete(RelFreq_Data、Treatment_Group、nesting(Age_Group) ')に変更するだけです。 – eipi10

+0

手動でデータに行を追加するのが最初の考えですが、複数の行が欠落している大きなデータセット – RobertF

+0

@ eipi10 - これは完璧に動作します。ありがとうございます。 – RobertF

関連する問題