使用ggplot2绘制具有4级因子的频率直方图

时间:2011-12-07 20:12:12

标签: r ggplot2

我有数据,我想在直方图中显示4个因子的每个子集内的频率。我希望他们使用相同的直方图和不同的颜色。 ..ncount ..函数看起来是最好的,但它将数据规范化为最大值1,而我希望子集中所有频率的SUM等于1.这是我的代码使用和附图:

我的数据文件是:“assocID” 因素是:“类别” 我用于直方图的连续变量是:“QGM”

ggplot(assocID,aes(QGM)) + 
    geom_histogram(binwidth=0.1,aes(fill=category,y(..count..)),position="dodge") +
    facet_wrap(~dyad)

转到here查看三个输出图像。我是一个新的用于stackoverflow,所以他们不会让我发布图像。我认为图表的解释比文本更好!

现在,如果我使用(..count..)/sum(..count..)除以总计数,而不是在子集

ggplot(assocID,aes(QGM)) + 
    geom_histogram(binwidth=0.1,aes(fill=category,y(..count..)/sum(..count..)),position="dodge") + 
    facet_wrap(~dyad)

最后,ncount似乎也没有这样做。

ggplot(assocID,aes(QGM)) + 
    geom_histogram(binwidth=0.1,aes(fill=category,y(..ncount..)),position="dodge") + 
    facet_wrap(~dyad)

基本上我想在变量“category”的每个因子中显示频率的直方图

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:3)

这很难,因为您的示例不具有可重现性,但我会抓住您正在寻找的..density..stat_bin y(..count..)会产生一个值y = ..count..整合到一个。

另外,我假设{{1}}的目的是{{1}}?