histogram ggplot2错误的频率

时间:2015-07-21 14:45:27

标签: r ggplot2 histogram

大家好,我对ggplot2很难。

我试图制作一个直方图,例如:性别(男性和女性= y)与癌症(C)的比例为5个年龄组(A = x)。

pp <- ggplot(data=base, aes(x=AGE, y=factor(C), fill=Sex)) + 
  geom_bar(aes(y = (..count..)/sum(..count..)))+
  scale_fill_grey()+
  theme_bw()
pp

我有直方图,但频率错误。有人可以告诉我为什么吗?

我很难自己解决这个问题。

提前致谢

1 个答案:

答案 0 :(得分:0)

也许使用geom_histogram

PP <- ggplot(base[base$C==TRUE,], aes(x=AGE, fill=Sex))
PP <- PP + geom_histogram()

注意:我不知道C是否被编码为布尔值。

更新 - 频率如下:

PP <- ggplot(base[base$C==TRUE,], aes(x=AGE, fill=Sex))
PP <- PP + geom_histogram(aes(y = ..density..))

更新 - OP的澄清表明他毕竟不是在寻找直方图:

因此,对于所需的条形图,您需要稍微重新排列数据并创建摘要版本,例如,使用plyr::ddply()

require(plyr)
baseA <- ddply(base, .(AGE,Sex), summarize, cancerShare=sum(C==TRUE)/length(C))

之后我们可以绘制这样的条形图:

g <- ggplot(baseA,aes(x=as.factor(AGE),y=cancerShare,fill=Gender))
g <- g + geom_bar(stat="identity",position="dodge")
g