создать таблицу ежедневных данных с указанием месяца начала
Я пытаюсь анализировать ежедневные данные, используя экосистему пакетов 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()
Чтобы было понятно, я не спрашиваю, как делать сюжеты. Я просто пытаюсь создать тиббл с правильным индексом, чтобы я мог провести анализ за некалендарный год.