我一直在寻找一种方法,能够根据受访者的性别分类,将堆积条形图响应显示为百分比值。
我成功地使用变量“性别”进行填充创建了堆积条形图,但我希望该图显示该变量之间的比例。我知道使用 (..count..)/sum(..count) 和 scale_y 可以更改 y 轴,以便显示百分比,但我找不到将其用于我想要的用途的方法。手动创建一个单独的数据框,其中频率值[编辑]反映百分比也是可能的,但我真的热衷于寻找一种仅使用 ggplot 的方法。
目前的剧情是这样的: https://i.stack.imgur.com/VnEEP.png
这是当前的代码:
workday<-ggplot(student,aes(x=Dalc2,fill=sex))
plot1<-workday+geom_bar()+facet_wrap(~romantic2)+labs(title="Workday Alcohol Consumption",y="Number of Respondents",x="Response")+ylim(0,300)
我知道这是一个非常基本的问题,但是对此问题的任何启发将不胜感激。
(数据集来自uci.edu)
EDIT:
对于那些对解决方案感兴趣的人,r.bot(非常感谢!)建议使用geom_bar(position="fill")
还添加此内容来修改 y 轴:scale_y_continuous(labels=percent)
这就是最终图表的样子 https://i.stack.imgur.com/tbV2a.png
格图在线文档 http://docs.ggplot2.org/current/geom_bar.html有一个很好的例子,将条形堆积到 100%。由于您没有提供数据,我无法调整您的代码。作为示例,请参见
# http://docs.ggplot2.org/current/geom_bar.html
require(ggplot2)
g <- ggplot(mpg, aes(class))
g + geom_bar(aes(fill = drv), position = "fill")
The position = "fill"
应该给你你想要的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)