r - 在 ggplot2 中使用闪避条形图绘制相对频率

标签 r ggplot2 frequency

任何人都可以回答我如何绘制条形图,将数字 x 变量映射到按 ggplot2 中的因子分组的相对频率吗?重要的是: 相对频率应计算为属于一个因子的 x 值内的按组频率。现在,它们被计算为相对于 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 轴上每组变量的频率。

非常感谢您提前提供的帮助! 贾娜

最佳答案

我遇到了和你一样的问题,我想通了:不是绘制..count../sum(..count..),而是绘制..密度。 .*your_binwidth 事实上,bin stat 创建的 ..密度.. 变量基本上等于比例/绑定(bind)宽度。 您的代码将变为:

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

关于r - 在 ggplot2 中使用闪避条形图绘制相对频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10064080/

相关文章:

r - 二维图中一维的ggplot2密度

Python频率检测

mysql创建频率分布

r - 正则表达式无法识别 R 中的某些特殊字符(德语字母)的问题

r - 多个变量的分组描述性统计

r - 了解 ddply 错误消息 - 缺少参数 "by",没有默认值

确定哪些词使短语流行的算法

r - 如何将列表元素提取到 r 中的多个 tibble 列中?

r - 在函数内传递 ggplot2 标题

r - ggplot2:为Alpha设置(非线性)值