在分类变量的图表中显示%而不是计数我正在绘制一个分类变量,而不是显示每个类别值的计数。我在找方法ggplot若要显示该类别中值的百分比,请执行以下操作。当然,用计算出的百分比和绘图来创建另一个变量是可能的,但是我必须做几十次,我希望能在一个命令中实现这一点。我在做这样的实验qplot(mydataf) +
stat_bin(aes(n = nrow(mydataf), y = ..count../n)) +
scale_y_continuous(formatter = "percent")但我一定是不正确地使用它,因为我有错误。为了方便地再现设置,下面是一个简化的示例:mydata <- c ("aa", "bb", NULL, "bb", "cc", "aa", "aa", "aa", "ee", NULL, "cc");mydataf <- factor(mydata);qplot (mydataf); #this shows the count, I'm looking to see % displayed.在实际情况下,我可能会用ggplot而不是qplot,但是正确的使用方式统计箱我还是逃避不了。我也尝试过以下四种方法:ggplot(mydataf, aes(y = (..count..)/sum(..count..))) +
scale_y_continuous(formatter = 'percent');ggplot(mydataf, aes(y = (..count..)/sum(..count..))) +
scale_y_continuous(formatter = 'percent') + geom_bar();ggplot(mydataf, aes(x = levels(mydataf), y = (..count..)/sum(..count..))) +
scale_y_continuous(formatter = 'percent');ggplot(mydataf, aes(x = levels(mydataf), y = (..count..)/sum(..count..))) +
scale_y_continuous(formatter = 'percent') + geom_bar();但所有4项都给予:Error: ggplot2 doesn't know how to deal with data of class factor简单的情况下,也会出现相同的错误。ggplot (data=mydataf, aes(levels(mydataf))) +
geom_bar()所以很明显是关于ggplot与单个向量相互作用。我在抓我的头,在谷歌上搜索那个错误给了我一个结果.
3 回答
![?](http://img1.sycdn.imooc.com/545869470001a00302200220-100-100.jpg)
MM们
TA贡献1886条经验 获得超2个赞
ggplot
require(ggplot2) require(scales) p <- ggplot(mydataf, aes(x = foo)) + geom_bar(aes(y = (..count..)/sum(..count..))) + ## version 3.0.0 scale_y_continuous(labels=percent)
mtcars
:
ggplot(mtcars, aes(x = factor(hp))) + geom_bar(aes(y = (..count..)/sum(..count..))) + scale_y_continuous(labels = percent) ## version 3.0.0
备注:hp
![?](http://img1.sycdn.imooc.com/54584cfb0001308402200220-100-100.jpg)
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
p = ggplot(mydataf, aes(x = foo)) + geom_bar(aes(y = (..count..)/sum(..count..))) + scale_y_continuous(formatter = 'percent')
- 3 回答
- 0 关注
- 749 浏览
添加回答
举报
0/150
提交
取消