R + ggplot2,同一图中的多个直方图,每个直方图都归一化为单位面积吗?

And*_*owe 1 plot r histogram ggplot2

对不起,新手R问题...

我有一个data.frame,其中包含单个变量的度量。根据被测物是A型还是B型,这些测量的分布将有所不同。也就是说,您可以想象我的列名是:度量,键入标签(A或B)。我想分别绘制A和B的测量直方图,并将这两个直方图放在同一图中,每个直方图都归一化为单位面积(这是因为我期望A和B的比例会有显着差异)。单位面积是指A和B各自具有单位面积,而不是A + B具有单位面积。基本上,我想要geom_density之类的东西,但是我不想为每个元素分配一个平滑的分布。我想要直方图条。没有交错,但在另一个之上绘制了一个。没有堆叠,尽管也知道如何进行也会很有趣。(此图的目的是探索分布形状的差异,这表明A和B之间存在数量差异,可以用来区分它们。)同一张图中的两个或多个直方图-不是平滑的密度图-每个直方图均归一化为单位面积。谢谢!

jlh*_*ard 5

像这样吗

# generate example
set.seed(1)
df <- data.frame(Type=c(rep("A",1000),rep("B",4000)),
                 Value=c(rnorm(1000,mean=25,sd=10),rchisq(4000,15)))
# you start here...
library(ggplot2)
ggplot(df, aes(x=Value))+
  geom_histogram(aes(y=..density..,fill=Type),color="grey80")+
  facet_grid(Type~.)
Run Code Online (Sandbox Code Playgroud)

请注意,类型的样本数量是其的4倍B

您还可以设置y轴的刻度上使用浮动:scales="free_y"在调用facet_grid(...)