我正在努力制作一个变量在ggplot中的一个因子的比例图.
以mtcars数据为例,从这个问题中窃取解决方案的一部分,我可以想出来
ggplot(mtcars, aes(x = as.factor(cyl))) +
geom_bar(aes(y = (..count..)/sum(..count..))) +
scale_y_continuous(labels = percent_format())
Run Code Online (Sandbox Code Playgroud)
该图表给出cyl了整个数据集中每个类别的比例.
我想得到的是每个cyl类别中具有自动变速器(二进制变量am)的汽车比例.
在每个栏的顶部,我想为比例添加一个错误栏.
是否有可能ggplot只与它一起做?或者我是否必须首先准备带有摘要的数据框并将其与identity条形图选项一起使用?
我在Cookbook for R网页上找到了一些例子,但它们处理的是连续的y变量.
我认为制作新数据框然后将其用于绘图会更容易.在这里,我计算了比例和下/上置信区间值(从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()
Run Code Online (Sandbox Code Playgroud)