Предположим, у нас есть две группы, "a" и "b", с разным размером выборки.
n = 10000
set.seed(123)
dist1 = round(rnorm(n, mean = 1, sd=0.5), digits = 1)
dist2 = round(rnorm(n/10, mean = 2, sd = 0.2), digits = 1)
df = data.frame(group=c(rep("a", n), rep("b", n/10)), value=c(dist1,dist2))
Я хотел бы перевести следующий столбчатый график с накоплением на график с плотностью с накоплением.
library(ggplot2)
ggplot(data=df, aes(x=value, y=(..count..)/sum(..count..), fill=group)) +
geom_bar()
Я знаю, что есть опция position="stack"
для графиков плотности. Однако результат выглядит следующим образом, поскольку высота плотности зависит от размера выборки группы, а не от общего размера выборки. Следовательно, небольшая группа, в некотором смысле, чрезмерно представлена.
ggplot(data=df, aes(x=value, fill=group)) +
geom_density(position="stack")
Существует ли способ создания графика плотности, который соответствует над барплотом?