首页 文章

用ggplot2中的躲避条形图绘制相对频率

提问于
浏览
2

任何人都可以回答我如何绘制一个条形图,它将数字x变量映射到其相对频率,该频率按ggplot2中的因子分组?重要的是:相对频率应计算为属于一个因子的x值内的 groupwise 频率 . 现在它们被计算为相对于 total 个x值的x值 .

为了说明它,一个例子:

library(ggplot2)

data <-data.frame(x=runif(100,0:1), f=sample(1:3,100,replace=TRUE))
data$f <-factor(data$f)
p <-ggplot(data, aes(x, colour=f, fill=f, group=f)) +
    xlim(0,1) +
    scale_y_continuous('Relative Frequency', formatter='percent') # or labels=percent

让我们将它们划分为多个 . 然后y轴显示比例是按组计算的 . 我用过这段代码:

p + stat_bin(aes(y=..count../sum(..count..)), position='dodge', binwidth=0.2) +         facet_grid(~f)

让我们策划他们躲闪 . y轴显示比例指的是整个数据集 . 在这里,我使用了以下代码:

p + stat_bin(aes(y=..count../sum(..count..)), position='dodge', binwidth=0.2)

我的目标是创建一个类似于第二个的图,其中y轴上的每组变量的频率 .

非常感谢您的帮助!贾纳

1 回答

  • 2

    我遇到了与你相同的问题,我想出来了:而不是密谋 ..count../sum(..count..) ,情节 ..density..*your_binwidth 实际上,bin stat创建的 ..density.. 变量基本上等于比例/绑定宽度 . 您的代码变为:

    p + stat_bin(aes(y=..density..*0.2), position='dodge', binwidth=0.2)
    

相关问题