【发布时间】:2020-10-28 12:15:43
【问题描述】:
数据是:
Category <- c(rep("A",4))
Month <- c(1,2,3,4)
Sales <- c(10,15,20,25)
df <- data.frame(Category,Month,Sales)
df <- df %>% filter(Category=='A') %>%
group_by(Month) %>%
summarise(Sales=sum(Sales,na.rm=TRUE)) %>%
mutate(lag_1 = dplyr::lag(Sales, 1),
lag_2 = dplyr::lag(Sales, 2),
lag_3 = dplyr::lag(Sales, 3),
lag_3_mean = rollapply(Sales,3,mean,align='right',fill=NA))
我希望 lag_3_mean 是过去 3 个月的平均值,不包括当前月份。例如,第 4 个月的 lag_3_mean = 平均值(第 3、2、1 个月的销售额)。
预期的输出应该是:
【问题讨论】:
标签: r