【发布时间】:2020-10-27 20:17:10
【问题描述】:
我是使用 zoo 包的新手,所以也许这是一个简单的问题。 我有以下数据框(df):
library(lubridate)
library(zoo)
library(dplyr)
Date <- c("2010-01-28", "2010-01-28", "2010-02-28",
"2010-02-28", "2010-03-28", "2010-03-28",
"2010-04-28", "2010-04-28")
Date <- as_date(Date)
Amount <- 1:8
Prod <- c("Corn", "Potato","Corn", "Potato","Corn", "Potato","Corn", "Potato")
df <- data.frame(Date, Prod, Amount)
print(df)
Date Prod Amount
2010-01-28 Corn 1
2010-01-28 Potato 2
2010-02-28 Corn 3
2010-02-28 Potato 4
2010-03-28 Corn 5
2010-03-28 Potato 6
2010-04-28 Corn 7
2010-04-28 Potato 8
我想要的是计算每个变量的滚动总和,“窗口”为 3 天,然后制作一个新的数据框,如下所示:
Date Prod Amount
2010-03-28 Corn 9
2010-03-28 Potato 12
2010-04-28 Corn 15
2010-04-28 Potato 18
可能rollapply() 和 dplyr 可以完成这项工作,但我不知道如何解决这个问题。
如果有人可以提供帮助,我将不胜感激:)
【问题讨论】: