【发布时间】:2014-02-18 00:47:28
【问题描述】:
如何标准化每个组的 ggplot 组直方图?
例子:
library(data.table)
library(ggplot2)
# Test data.
test <- data.table(id=1:100, cat=c(rep(c("A", "B", "A", "A", "B"), 20))
, grp=paste0("G", c(rep(1:2,50))))
test[, catGrp := paste0(cat, grp)]
# Normalized histogram of cat by grp.
# It is normalized over all grp.
# I want it normalized by grp.
ggplot(test, aes(x=cat, group=grp, fill=grp))
+ geom_histogram(aes(y=..count../sum(..count..)), position=position_dodge())
我得到的结果:
我想得到与这个相同的直方图,但每个组的总和 = 1 -- 或者级别将是 0.6 和 0.4 而不是 0.3 和 0.2。
最简单的方法是什么?谢谢。
【问题讨论】: