Я пытаюсь сделать что-то похожее на этот вопрос SO , в котором спрашивается, как отобразить результаты для нескольких вызовов через stat_function
в ggplot.То есть, как построить семейство функций в ggplot.
Я хочу сделать что-то похожее, но с помощью пакета ggridges для отображения различных результатов на оси Y.Мой код до сих пор выглядит следующим образом:
library(ggplot2)
library(ggridges)
library(mc2d) ## for PERT distribution, but any function could be inserted
# generate results of distributions
x <- seq_along(100)
dst1 <- dpert(x, 20, 30, 40, shape = 4)
dst2 <- dpert(x, 40, 55, 75, shape = 4)
df <- data.frame("Levels" = c(rep("Level 1", length(x)), rep("Level 2", length(x))),
"dists" = c(dst1, dst2))
ggplot(df, aes(x = dists, y = Levels)) + geom_density_ridges()
Результаты, однако, совсем не такие, как я ожидал ... Все результаты колеблются вокруг нулевого значения на оси x.Я чувствую, что это связано с тем, что ggridges пытается преобразовать выходные данные распределений в график плотности.Есть ли шаг преобразования, который мне нужно ввести?
РЕДАКТИРОВАТЬ
Я изменил вызов функции с dpert
на rpert
и вместо этого смоделировал много данных.Это приводит к чему-то более близкому к тому, что я ищу, но включает seq_along(1:1e6)
, который кажется очень грязным ...