2015-10-15 2 views
0

Я использую модель для прогнозирования некоторых чисел. Мое предсказание также включает доверительный интервал для каждого номера. Мне нужно отобразить фактические числа + предсказанные числа и их значения квантилей на одном и том же участке. Вот простой пример:Как ggplot с предварительно рассчитанными квантилями?

actualVals = c(12,20,15,30) 
lowQuantiles = c(19,15,12,18) 
midQuantiles = c(22,22,17,25) 
highQuantiles = c(30,25,25,30) 

и я искал что-то вроде этого, возможно, используя ggplot(): enter image description here

+0

Что вы пытаетесь до сих пор? –

+0

@Pascal Я пробовал geom_boxplot(), который не совсем то, что я хочу. В моем случае у меня много точек данных, которые я хочу показать, так что толстые коробки не работают в моем случае. Я также смущен, как построить линию (красный) и ящики на том же участке, используя ggplot. Как вы, вероятно, знаете, люди обычно используют функцию «расплав» для построения двух кривых на одном и том же участке. Раньше я использовал код в Matlab, и мне было намного легче выполнять подобные задачи, как это! – Mohammad

ответ

1

Вы можете использовать geom_errorbar, среди других, вы можете увидеть на ?geom_errorbar. Я создал data.frame из ваших переменных, dat и добавил dat$x <- 1:4.

ggplot(dat) + 
    geom_errorbar(aes(x, y=midQuantiles, ymax=highQuantiles, ymin=lowQuantiles, width=0.2), lwd=2, color="blue") + 
    geom_point(aes(x, midQuantiles), cex=4, shape=22, fill="grey", color="black") + 
    geom_line(aes(x, actualVals), color="maroon", lwd=2) + 
    geom_point(aes(x, actualVals), shape=21, cex=4, fill="white", color='maroon') + 
    ylim(0, 30) + 
    theme_bw() 

enter image description here

+0

чувак вы гений! благодаря – Mohammad

Смежные вопросы