我有一个日期和每个日期的值的表格,我想在新列中对之前三个日期的值进行平均。如何在R中执行此操作?
我有这个:
date unit_sales
2013-01-10 1
2013-01-11 1
2013-01-14 1
2013-01-18 2
2013-01-21 1
2013-01-25 1
我希望获得三天前的平均值(如果没有可用的日期,则将其视为Excel中的日期):
date unit_sales Average
2013-01-10 1 NA
2013-01-11 1 1
2013-01-14 1 1
2013-01-18 2 NA
2013-01-21 1 2
2013-01-25 1 NA
答案 0 :(得分:0)
我们可以使用rollmean
library(dplyr)
library(zoo)
df1 %>%
mutate(Average = rollmean(unit_sales, k= 3, fill = TRUE))