В настоящее время я рисую несколько различных распределений первых отличий от ряда моделей регрессии в ggplot. Чтобы облегчить интерпретацию различий, я хочу отметить 2,5% и 97,5% процентилей каждого дистрибутива. Поскольку я буду делать довольно много графиков, и поскольку данные сгруппированы в два измерения (модель и тип), я бы хотел определить и построить соответствующие процентили в среде ggplot. Построение распределений с использованием граней позволяет мне точно, где я хочу, за исключением процентов. Я мог бы, конечно, сделать это более вручную, но в идеале я хотел бы найти решение, где я все еще могу использовать facet_grid
, так как это избавило меня от многих хлопот, пытаясь совместить разные сюжеты.Границы квантов распределения в ggplot2 с гранями
Вот пример использования моделируемых данных:
df.example <- data.frame(model = rep(c("a", "b"), length.out = 500),
type = rep(c("t1", "t2", "t2", "t1"),
length.outh = 250), value = rnorm(1000))
ggplot(df.example, aes(x = value)) +
facet_grid(type ~ model) +
geom_density(aes(fill = model, colour = model))
Я пытался добавить квантили двух способов. Первый выдает сообщение об ошибке:
ggplot(df.example, aes(x = value)) +
facet_grid(. ~ model) +
geom_density(aes(fill = model, colour = model)) +
geom_vline(aes(x = value), xintercept = quantile(value, probs = c(.025, .975)))
Error in quantile(value, probs = c(0.025, 0.975)) : object 'value' not found
Хотя второй один получает меня квантили для полной переменной, а не для суб-плотностей. То есть построенные квантиля одинаковы для всех четырех плотностей.
ggplot(df.example, aes(x = value)) +
facet_grid(type ~ model) +
geom_density(aes(fill = model, colour = model)) +
geom_vline(xintercept = quantile(df.example$value, probs = c(.025, .975)))
Я поэтому интересно, если есть способ построить конкретные квантили для каждой подгруппы в среде ggplot2?
Очень цените любой вход.
Отличное предложение. Благодаря! – chrstnsn