Группировать данные по году, начиная с определенного месяца - PullRequest
0 голосов
/ 11 июля 2019

У меня есть большие данные под названием ddata.Поле с датой в диапазоне от 2014 до 2018 года. Я хочу сгруппировать дела из каждого округа по 12-месячному периоду (начиная с определенного месяца, например, с апреля 2014 года по март 2015 года и т. Д.).

Я написал данный код, который выполняет результат только за календарный год.но я хочу получить аналогичный результат для любого 12-месячного периода, т.е. начиная с любого месяца (например, с апреля 2014 года по март 2015 года, с апреля 2015 года по март 2016 года и т. д.)

  ddata <- ddata %>%
               select(ID, Disease, DateReported, County) %>%
               mutate(calendar_year = year(Date)) %>%
               mutate(month = month(DateReported)) %>%
               filter(calendar_year >=2014) %>%
               group_by(County, calendar_year) %>%
               summarize(cases = n()) %>%
               spread(calendar_year, cases)

1 Ответ

1 голос
/ 11 июля 2019

Вы можете создать новый столбец, например, предположим, что вы хотите начать в апреле

start_month <- 4
ddata <- ddata %>%
               select(ID, Disease, DateReported, County) %>%
               mutate(custom_year = ifelse(month(Date)>= start_month, year, year-1))
               filter(custom_year >=2014) %>%
               group_by(County, custom_year) %>%
               summarize(cases = n()) %>%
               spread(custom_year, cases)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...