Непрерывные квантили диаграммы рассеяния
У меня есть набор данных, для которого я составил регрессию (используя ggplot2
"s stat_smooth
):
ggplot(data = mydf, aes(x=time, y=pdm)) + geom_point() + stat_smooth(col="red")
Я также хотел бы, чтобы квантили (если проще, подойдут только квартили) использовали тот же метод. Все, что мне удалось получить, это следующее:
ggplot(data = mydf, aes(x=time, y=pdm, z=surface)) + geom_point() + stat_smooth(col="red") + stat_quantile(quantiles = c(0.25,0.75))
К сожалению не могу поставить method="loess"
в stat_quantile()
, который, если я не ошибаюсь, решит мою проблему.
(В случае, если неясно, желаемое поведение = нелинейные регрессии для квантилей, и, следовательно, регрессия для Q25 и Q75, находящаяся ниже и выше (соответственно), моя красная кривая (и Q50, в случае графика, будет моей красной кривой)).
Спасибо
1 ответ
stat_quantile
по умолчанию строит линии наилучшего соответствия для 25-го и 75-го процентиля для каждого значения x. stat_quantile
использует rq
функция от quantreg
пакет (неявно, method="rq"
в stat_quantile
вызов). Насколько я знаю, rq
не делает лесс регрессии. Однако вы можете использовать другие гибкие функции для квантильной регрессии. Вот два примера:
В-сплайн:
library(splines)
stat_quantile(formula=y ~ bs(x, df=4), quantiles = c(0.25,0.75))
Полином второго порядка:
stat_quantile(formula=y ~ poly(x, 2), quantiles = c(0.25,0.75))
stat_quantile
все еще использует rq
, но rq
принимает формулы указанного выше типа (если вы не предоставите формулу, то stat_quantile
неявно использует formula=y~x
). Если вы используете ту же формулу в geom_smooth
что касается stat_quantile
вы будете иметь последовательные методы регрессии, используемые для квантилей и среднего ожидания.