R 使用刻面网格绘制密度直方图,使每个刻面中的密度总和为1

R 使用刻面网格绘制密度直方图,使每个刻面中的密度总和为1,r,ggplot2,R,Ggplot2,我有下面的代码,它接近我想要的,但不完全是: p = ggplot(mtcars, aes_string(x="gear", fill="cyl")) p = p + geom_histogram() + facet_grid(cyl~.) p 它绘制了一组面,显示了每个面网格中相对于整个人口的直方图/密度,但实际上我希望每个面网格的直方图是相对于该组的密度。我该怎么做呢?我看了一下您的代码:它看起来像是在为每个组绘制直方图。你的意思是你希望每个方面都有不同的Y刻度,这样它们看起来都一样高吗

我有下面的代码,它接近我想要的,但不完全是:

p = ggplot(mtcars, aes_string(x="gear", fill="cyl"))
p = p + geom_histogram() + facet_grid(cyl~.) 
p

它绘制了一组面,显示了每个面网格中相对于整个人口的直方图/密度,但实际上我希望每个面网格的直方图是相对于该组的密度。我该怎么做呢?

我看了一下您的代码:它看起来像是在为每个组绘制直方图。你的意思是你希望每个方面都有不同的Y刻度,这样它们看起来都一样高吗?@DerwinMcGeary感谢你的关注。每个面都有一个柱状图(在本例中为每个柱面计数),但如果将特定面中的密度相加,它们的总和不会为1。我想要的密度是相对于该刻面/柱面计数的其他成员的,而不是相对于总计数的。即使没有刻面网格(),几何柱状图()的频率图的总和也不等于1。尝试geom_density()。的可能副本也差不多,但请注意答案上的注释,对于
.density..
解决方案,您需要
binwidth=1