【发布时间】:2012-04-08 15:44:31
【问题描述】:
谁能回答我如何绘制一个条形图,它将一个数字 x 变量映射到它的相对频率,按 ggplot2 中的一个因子分组?重要的是: 相对频率应计算为属于一个因素的 x 值内的 groupwise 频率。现在,它们被计算为相对于 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 轴上。
非常感谢您提前提供的帮助! 贾娜
【问题讨论】:
-
你的第一张图没有给出每个方面的比例。您需要预先汇总数据,然后将其传递给 ggplot。