диаграмма рассеяния ggplot2 с добавлением линий полос произвольного доверительного интервала; похож на подход abline () - PullRequest
0 голосов
/ 12 марта 2020

Контекст проблемы: точечный график; Использование ggplot2 с данными из фрейма данных; попытка добавить пользовательскую строку geom-line () [или geom_abline ()] для включения в верхний и нижний диапазоны доверительного интервала на дискретных данных дискретных данных с использованием модели линейной регрессии

Контекст ошибки: Сообщение об ошибке: Дискретное значение передается в непрерывном масштабе

Да, я знаю и понимаю, что данные являются дискретными. Что рекомендуется для добавления строки в данные нумерации c для отображаемых линий, которые разрешают размещение пользовательских линий? Подобно тому, что cars :: scatterplot () делает с отображаемыми позициями линий квартилей, но я стремлюсь добавить пользовательский доверительный интервал верхней и нижней полос. Для ggplot2, который рекомендуется: geom_line () или geom_segment () или geom_abline ()?

ggplot(nt, aes(x=hr, y=temp)) + geom_point(aes(color=temp), size=3) + 
 scale_color_gradientn(colors = c("#00AFBB", "#E7B800", "#FC4E97")) +
    geom_line(data=nt, aes(x = hr, y = temp, color = 'black'))

пример данных: для фрейма данных 'nt' (исправление: nt, normtemp, те же имена)

   temp
   <dbl>
   hr
   <int>
   1    96.3    70      
   2    96.7    71      
   3    96.9    74      
   4    97.0    80      
   5    97.1    73      
   6    97.1    75  

1 Ответ

0 голосов
/ 22 марта 2020

с plot (), а не с ggplot () + geom_point (), я выполнил sh, чтобы получить доверительные интервалы для графиков рассеяния для верхней и нижней полос.

Это было достигнуто с помощью

ylimits <- c(min(fitted.pred[,"lwr"]), max(fitted.pred[,"upr"]))

и применением ylim = ylimits к параметрам графика:

plot(df, ylim=ylimits)

и добавлением аблайна (модели) для модельной линии для доверительных интервалов и установки линий, несколько раз для разных уровней доверительных интервалов, где xplot = data.frame:

lines(xplot[,], fitted.conf_int[,"lwr"])
...