5

ggplot の因子全体の変数の割合のグラフを作成するのに苦労しています。

データを例に取り、この質問mtcarsから解決策の一部を盗むと、私は思いつくことができます

ggplot(mtcars, aes(x = as.factor(cyl))) +  
  geom_bar(aes(y = (..count..)/sum(..count..))) + 
  scale_y_continuous(labels = percent_format())

cylこのグラフは、データセット全体における各カテゴリの割合を示しています。

私が取得したいのは、cylオートマチックトランスミッションを搭載した各カテゴリの車の割合です(バイナリ変数am)。

各バーの上に、比率のエラー バーを追加したいと思います。

のみでそれを行うことは可能ggplotですか?または、最初に集計を含むデータ フレームを準備し、それをidentity棒グラフのオプションと共に使用する必要がありますか?

Cookbook for R Web ページでいくつかの例を見つけましたが、それらは連続 y 変数を扱っています。

4

1 に答える 1

8

新しいデータ フレームを作成してプロットに使用する方が簡単だと思います。ここでは、比率と下限/上限信頼区間の値を計算しました (prop.test()結果から取得しました)。

library(plyr)
mt.new<-ddply(mtcars,.(cyl),summarise,
      prop=sum(am)/length(am),
      low=prop.test(sum(am),length(am))$conf.int[1],
      upper=prop.test(sum(am),length(am))$conf.int[2])

ggplot(mt.new,aes(as.factor(cyl),y=prop,ymin=low,ymax=upper))+
  geom_bar(stat="identity")+
  geom_errorbar()
于 2013-07-23T13:01:24.723 に答える