我绘制了一个分类变量,而不是显示每个类别值的计数。
我正在寻找一种方法来让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
,但是正确使用stat_bin的方法仍然让我摸不着头脑。
我还尝试了这四种方法:
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个都给出了:
错误: ggplot2不知道如何处理类别因子的数据
同样的错误也出现在简单的
ggplot (data=mydataf, aes(levels(mydataf))) +
geom_bar()
所以很明显,这是关于ggplot
如何与单个向量交互的。我摸不着头脑,在谷歌上搜索那个错误只给出了一个result。
https://stackoverflow.com/questions/3695497
复制相似问题