Неперекрывающийся участок хребта R - PullRequest
0 голосов
/ 18 июня 2020

Всем привет! Я смотрел на некоторые графики хребтов в R, более конкретно в посте «Введение в ggridges», и моя цель - сделать этот график, но без перекрытия:

library(ggplot2)
library(ggridges)
ggplot(iris, aes(x = Sepal.Length, y = Species, fill = 0.5 - abs(0.5 - stat(ecdf)))) +
  stat_density_ridges(geom = "density_ridges_gradient", calc_ecdf = TRUE) +
  scale_fill_viridis_c(name = "Tail probability", direction = -1)

Читая тот же пост, перекрытие можно добавить с помощью:

+ geom_density_ridges(scale = 0.9)

но по какой-то причине я получил эту ошибку:

Error in 0.5 - ecdf : non-numeric argument to binary operator

Спасибо

1 Ответ

0 голосов
/ 18 июня 2020

Чтобы получить результат dsired, избавьтесь от второго geom_density_ridges (это вызвало ошибку) и просто добавьте scale = 0.9 к первому слою:

library(ggplot2)
library(ggridges)
ggplot(iris, aes(x = Sepal.Length, y = Species, fill = 0.5 - abs(0.5 - stat(ecdf)))) +
  stat_density_ridges(geom = "density_ridges_gradient", calc_ecdf = TRUE, scale = 0.9) +
  scale_fill_viridis_c(name = "Tail probability", direction = -1)
#> Picking joint bandwidth of 0.181

...