Подтвердить что ты не робот

Рисование гистограмм или плотностей вдоль гладких кривых с использованием ggplot2

Существует ли общий способ рисования плотностей (скрипичные графики) или гистограммы, показывающие распределение x вдоль гладкой кривой (x,y)? Я использую этот подход, чтобы показать предельное распределение x, когда есть несколько групп (например, разные кривые на одной панели, обозначенные разными цветами).

Вот пример с использованием функции Hmisc package plsmo для получения стратифицированных кривых лёсса и гистограмм шипов, показывающих плотность sex -специфических данных для age.

require(Hmisc)
set.seed(1)
age <- rnorm(500, 50, 15)
y <- sample(0:1, 500, TRUE)
sex <- sample(c('female','male'), 500, TRUE)
plsmo(age, y, group=sex, col=1:2,
      datadensity=TRUE, scat1d.opts=list(nhistSpike=20))

enter image description here

4b9b3361

Ответ 1

Я считаю, что вы можете сделать это с помощью пакета ggsubplot. См. статью и пакет. Я считаю, что код будет выглядеть примерно так:

qplot(age, y, data = dataset, color = sex) + 
    geom_subplot(aes(x, y, data = distributions, group = sex, 
        subplot = geom_violin(aes(x, y, data = distributions))))

Но я не думаю, что ваш пример предоставляет достаточно подробностей в вашем примере для создания скрипки в точках вдоль кривых. Если я не понял ваш вопрос.