создать таблицу ежедневных данных с указанием месяца начала

Я пытаюсь анализировать ежедневные данные, используя экосистему пакетов tidyverts. Данные, с которыми я работаю, имеют не календарный год, который начинается в сентябре. Как я могу определить tsibble с начальным месяцем, отличным от января.

Следующий код и графики должны объяснить проблему, с которой я столкнулся.

       library(tsibble)
library(feasts)
library(lubridate)
library(dplyr)
library(ggplot2)
set.seed(1234)

my_ts <- tibble(
  date = seq.Date(from = as.Date("2015-09-01"),
                   to = as.Date("2020-10-25"),
                   by = "days")
)

my_ts <- my_ts %>% 
  rowwise() %>% 
  mutate(obs = sample(1:5, 1)) %>% 
  ungroup() %>% 
  mutate(yr = year(date) - 2014 - ifelse(month(date)<=8,1,0)) %>% 
  group_by(yr) %>% 
  mutate(ytd = cumsum(obs),
         x_val = row_number()) %>% 
  ungroup() %>% 
  as_tsibble(index = date)

gg_season(my_ts, ytd)

То, что я пытаюсь получить, должно выглядеть так, за исключением того, что я хотел бы иметь даты на оси x:

       ggplot(my_ts) +
  aes(x=x_val, y=ytd, group = factor(yr+2014), color = factor(yr+2014)) +
  geom_line()

Чтобы было понятно, я не спрашиваю, как делать сюжеты. Я просто пытаюсь создать тиббл с правильным индексом, чтобы я мог провести анализ за некалендарный год.

0 ответов

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