У меня есть набор данных, который я построил следующий участок вокруг: Можно ли обходить stat_smooth при использовании geom_smooth?
Участок подается из набора данных, включенный в нижней части этого поста, и производится из следующего ggplot2 кода:
ggFacetProfile <- ggplot(sub, aes(group = iMoYr)) +
geom_line(aes(x= iHrMi, y = trimAv)) +
facet_grid(off ~ iMoYr, scales = "free") +
ggtitle("Typical Half Hourly Profiles") +
xlab("Time") + ylab("Energy (kWh)")
Здесь я рисую значения trimAv
(фактически средние значения) над iHrMi
(эффективно час и минута). Это на грани off
на iMoYr
(фактически это процесс off, и разные месяцы в течение года).
Таблица данных уже имеет рассчитанные в ней эффективные сглаженные значения, под заголовком minEcl
и maxEcl
. Я хотел бы иметь возможность использовать geom_smooth для представления этих данных на графике в виде границ формы, созданных функцией geom_smooth, однако я не смог найти способ обойти вызов stat_smooth.
Моя ближайшая попытка до сих пор включают в себя:
+ geom_smooth(aes(x= iHrMi, y = trimAv, ymin = minEcl, ymax = maxEcl))
Однако это принуждается в лесс сглаживание, по-видимому, из-за размера данных, который выглядит следующим образом:
Возможно ли использовать определенные заранее рассчитанные значения geom_smooth, или я пытаюсь использовать geom_smooth очень неправильно? Кажется несоответствующим, что другие аргументы geom_ в ggplot2 настолько адаптируемы, и это кажется настолько жестким.
Голова и хвост источника данных (таблица данных) приводится ниже для целей структуры:
iDate off trimAv trimStD minEcl maxEcl iMoYr iHrMi
1: 2013-08 00:00 Production 136.52273 37.300389 76.4 218.4 2013-08 00:00
2: 2013-08 00:30 Production 136.14091 36.117819 80.3 217.7 2013-08 00:30
3: 2013-08 01:00 Production 133.92500 32.808662 76.9 213.3 2013-08 01:00
4: 2013-08 01:30 Production 139.20476 37.929480 77.1 221.5 2013-08 01:30
5: 2013-08 02:00 Production 137.82857 36.422042 74.9 221.0 2013-08 02:00
---
1148: 2014-07 22:30 Non-Production 50.51250 3.025812 47.1 56.3 2014-07 22:30
1149: 2014-07 23:00 Non-Production 49.88571 2.066743 47.0 52.6 2014-07 23:00
1150: 2014-07 23:30 Non-Production 49.94286 2.318661 46.5 52.5 2014-07 23:30
1151: 2014-07 00:00 Non-Production 50.85714 2.860569 47.9 54.9 2014-07 00:00
1152: 2014-07 00:30 Non-Production 50.72857 4.181194 47.6 59.1 2014-07 00:30
Если я могу включать исходные данные в лучшей/более приемлемой форме, пожалуйста, дайте мне знать, комментарии.
Извините, я не понимаю, какова ваша цель: что вы хотите делать с geom_smooth? Может вам просто нужно установить значение для параметра 'method'? – Julian
Вы пытаетесь показать minEcl и maxEcl как затенение вокруг каждой точки trimStD или вы сначала хотите сгладить верхние и нижние точки с помощью minEcl и maxEcl, а затем показать shadding? – WaltS
Возможно, вы можете попробовать 'geom_ribbon'? '+ geom_smooth (aes (x = iHrMi, ymin = minEcl, ymax = maxEcl))', возможно, вместе с 'geom_lines'? – Julian