R-如何根据日期范围对列求和?
假设我有这样的df1:R-如何根据日期范围对列求和?,r,date,dataframe,sum,R,Date,Dataframe,Sum,假设我有这样的df1: Date Var1 01/01/2015 1 01/02/2015 4 .... 07/24/2015 1 07/25/2015 6 07/26/2015 23 07/27/2015 15 Q1:2015年7月27日前3天Var1的总和(不包括7月27日) Q2:2015年7月25日前3天的Var1总和(这
Date Var1
01/01/2015 1
01/02/2015 4
....
07/24/2015 1
07/25/2015 6
07/26/2015 23
07/27/2015 15
Q1:2015年7月27日前3天Var1的总和(不包括7月27日)
Q2:2015年7月25日前3天的Var1总和(这不是最后一行),基本上我选择任何一天作为参考日,然后计算滚动总和。正如@SeñorO引用的链接中的一条评论所建议的那样,只需做一点工作,您就可以使用
zoo::rollsum
:
library(zoo)
set.seed(42)
df <- data.frame(d=seq.POSIXt(as.POSIXct('2015-01-01'), as.POSIXct('2015-02-14'), by='days'),
x=sample(20, size=45, replace=T))
k <- 3
df$sum3 <- c(0, cumsum(df$x[1:(k-1)]),
head(zoo::rollsum(df$x, k=k), n=-1))
df
## d x sum3
## 1 2015-01-01 16 0
## 2 2015-01-02 12 16
## 3 2015-01-03 15 28
## 4 2015-01-04 15 43
## 5 2015-01-05 17 42
## 6 2015-01-06 10 47
## 7 2015-01-07 11 42
图书馆(动物园)
种子(42)
df@SeñorO您是否尝试了建议的解决方案?不能让它工作。