Как реализовать функцию сетки фасетов с использованием библиотеки ggfortify для данных временных рядов?

Я использую RStudio и у меня есть time series данные (ts объект) называется data1,

Вот как data1 выглядит:

     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2014 135 172 179 189 212  47 301 183 247 292 280 325
2015 471 243 386 235 388 257 344 526 363 261 189 173
2016 272 267 197 217 393 299 343 341 315 305 384 497

Чтобы построить вышесказанное, я запустил этот код:

plot (data1)

и я получаю следующий сюжет:

Рисунок 1

Я хочу иметь сюжет, который разбит на год, и я думал о реализации facet_grid функция найдена в ggplot2 но так как мои данные ts объект, я не могу использовать ggplot2 прямо на это.

После некоторых исследований я обнаружил, что ggfortify библиотека работает с ts объекты. Тем не менее, я с трудом пытаюсь выяснить, использовать facet_grid особенность с этим.

Моя цель состоит в том, чтобы построить что-то вроде ниже от моего ts данные:

фигура 2

"Женский" и "Мужской" будут заменены на 2014, 2015 и 2016 годы. По оси X будут месяцы (январь, февраль, март и т. Д.), А по оси Y будут значения в ts файл. Я бы предпочел линейный график, а не точечный.

Я на правильном пути или есть другой способ решения этой проблемы?

1 ответ

Решение

Мы можем использовать ggplot2::autoplot, я использую AirPassengers данные в качестве примера.

library(ggplot2)
library(lubridate)
autoplot(AirPassengers) + 
 facet_grid(. ~ year(Index), scales = "free_x") + 
 scale_x_date(date_labels = "%b")

Другие вопросы по тегам