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

R+;ggplot2,同一个图中的多个直方图,每个直方图归一化为单位面积?,r,plot,ggplot2,histogram,R,Plot,Ggplot2,Histogram,很抱歉问了新手R问题 我有一个data.frame,其中包含单个变量的测量值。这些测量值的分布将根据被测量对象是A型还是B型而有所不同;也就是说,您可以想象我的列名是:measurement,type label(A或B)。我想分别绘制A和B的测量直方图,并将两个直方图放在同一个图中,每个直方图归一化为单位面积(这是因为我预计A和B的比例会显著不同)。所谓单位面积,我的意思是A和B都有单位面积,而不是A+B有单位面积。基本上,我想要一些像geom_密度的东西,但我不想要每个的平滑分布;我想要直方

很抱歉问了新手R问题

我有一个data.frame,其中包含单个变量的测量值。这些测量值的分布将根据被测量对象是A型还是B型而有所不同;也就是说,您可以想象我的列名是:measurement,type label(A或B)。我想分别绘制A和B的测量直方图,并将两个直方图放在同一个图中,每个直方图归一化为单位面积(这是因为我预计A和B的比例会显著不同)。所谓单位面积,我的意思是A和B都有单位面积,而不是A+B有单位面积。基本上,我想要一些像geom_密度的东西,但我不想要每个的平滑分布;我想要直方图条。不是交错的,而是一个接一个地绘制。不堆叠,尽管知道如何做也很有趣。(此图的目的是探索分布形状的差异,这表明A和B之间存在定量差异,可用于区分它们。)仅此而已。两个或多个直方图——未平滑密度图——在同一个图中,每个直方图均归一化为单位面积。谢谢

像这样的

# 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~.)

#生成示例
种子(1)

如果你想更明确地给出你的问题代码示例,甚至是一幅图画。无论如何,我认为这应该回答你的问题。谢谢,这几乎正是我需要的;如果我在相同的y轴上绘制两个柱状图(即,没有多个面),alpha=0.0,我得到的正是我想要的。非常有帮助!(有趣的是,我注意到,如果任何类型是NA,他们也会得到一个直方图,但没有图例条目。如果你没有关于测量对象是a型还是B型的信息,可能会发生这种情况。)