我的问题非常类似于将 R ggplot 中直方图中的 y 轴标准化为比例 https://stackoverflow.com/questions/11766856/normalizing-y-axis-in-histograms-in-r-ggplot-to-proportion,除了我有两组不同大小的数据,并且我希望每个比例相对于其组大小而不是总大小。
为了更清楚地说明,假设我在数据框中有两组数据:
dataA<-rnorm(100,3,sd=2)
dataB<-rnorm(400,5,sd=3)
all<-data.frame(dataset=c(rep('A',length(dataA)),rep('B',length(dataB))),value=c(dataA,dataB))
我可以将这两个分布绘制在一起:
ggplot(all,aes(x=value,fill=dataset))+geom_histogram(alpha=0.5,position='identity',binwidth=0.5)
我可以用以下比例代替 Y 轴上的频率:
ggplot(all,aes(x=value,fill=dataset))+geom_histogram(aes(y=..count../sum(..count..)),alpha=0.5,position='identity',binwidth=0.5)
但这给出了相对于总数据大小(此处为 500 点)的比例:是否可以将其相对于每个组大小?
我的目标是能够直观地比较 A 和 B 之间给定箱中值的比例,而与它们各自的大小无关。与我最初的想法不同的想法也欢迎!
Thanks!