我有个大数据,叫做ddata。它的日期字段从2014年到2018年。我想按12个月的时间段(从特定月份开始,例如2014年4月至2015年3月,等等)对每个县的病例进行分组。
我写了给定的代码,仅执行日历年的结果。但我想在任何12个月内执行类似的结果,即从任何月份开始(例如,2014年4月至2015年3月,2015年4月至2016年3月,依此类推。)
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)
答案 0 :(得分:1)
您可以创建一个新列,例如,假设您要在四月开始
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)