R-基于其他列中其他行的值创建的新列

问题描述 投票:-1回答:1

我有一个日期和每个日期的值的表格,我想在新列中对之前三个日期的值进行平均。如何在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
r sum rows
1个回答
0
投票

我们可以使用rollmean

library(dplyr)
library(zoo)
df1 %>%
    mutate(Average = rollmean(unit_sales, k= 3, fill = TRUE))
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.