繁体   English   中英

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

[英]R - New column based on values from other rows in other columns

我有一个日期和每个日期的值表,我想在之前三个日期的值的新列中计算平均值。 如何在 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

我们可以使用rollmean

library(dplyr)
library(zoo)
df1 %>%
    mutate(Average = rollmean(unit_sales, k= 3, fill = TRUE))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM