Как я могу получить область с перекрывающимися кривыми плотности?вычислить площадь перекрывающегося участка плотности по ggplot, используя R
Как я могу решить проблему с R? (Существует решение для питона здесь: Calculate overlap area of two functions)
set.seed(1234)
df <- data.frame(
sex=factor(rep(c("F", "M"), each=200)),
weight=round(c(rnorm(200, mean=55, sd=5),
rnorm(200, mean=65, sd=5)))
)
(Источник: http://www.sthda.com/english/wiki/ggplot2-density-plot-quick-start-guide-r-software-and-data-visualization)
ggplot(df, aes(x=weight, color=sex, fill=sex)) +
geom_density(aes(y=..density..), alpha=0.5)
«Точка, используемая в графике возвращается ggplot_build(), так что вы можете получить доступ к ним. " Итак, теперь у меня есть точки, и я могу их накормить, но проблема в том, что я не знаю, как вычесть функции плотности.
Любая помощь очень ценится! (И я верю в высокий спрос, нет решения для этого легко доступны.)
выдает ошибку: 'брт <- ggplot (ДФ, АЕС (х = вес, цвет = пол, заполнить = пол)) + geom_density (АЕС (у = .. плотность ..), alpha = 0.5) DPB <- ggplot_build (брт) x1 <- мин (что (DPB $ данных [[1]] $ х> = 50)) х2 <- макс (который (DPB $ данных [[1 ]] $ x <= 70)) grt + geom_area (data = data.frame (x = dpb $ data [[1]] $ x [x1: x2], \t y = данные dpb $ [[1] ] $ y [x1: x2]), aes (x = x, y = y), fill = "gray") ' – user5878028
возможно это http://stats.stackexchange.com/questions/97596/how-to-calculate -однослойная-между-эмпирическая-вероятность-плотность может помочь – MLavoie
Спасибо, хорошо выглядит. Однако, из-за перемасштабирования, могу ли я получить вероятность пересечения? Попробуй сейчас. – user5878028