根据日期以R为单位增加降雨量的连续值

根据日期以R为单位增加降雨量的连续值,r,R,我有一个名为“达卡”的数据集,如下所示: 时间降水 1998年1月1日5 1998年2月1日2 1998年3月1日4 1998年4月1日6 1998年5月1日7 1998年6月1日11 我想对降水量进行连续求和,以使其对三天的降水量求和(精确日期前两天的降水量+精确日期降水量)。 输出可能如下所示: 时间降水 1998年1月1日5 1998年2月1日7=5+2 1998年3月1日11=5+2+4 1998年4月1日12=2+4+6 1998年5月1日17=4+6+7 1998年6月1日24=6+

我有一个名为“达卡”的数据集,如下所示:

  • 时间降水
  • 1998年1月1日5
  • 1998年2月1日2
  • 1998年3月1日4
  • 1998年4月1日6
  • 1998年5月1日7
  • 1998年6月1日11
  • 我想对降水量进行连续求和,以使其对三天的降水量求和(精确日期前两天的降水量+精确日期降水量)。
    输出可能如下所示:

  • 时间降水
  • 1998年1月1日5
  • 1998年2月1日7=5+2
  • 1998年3月1日11=5+2+4
  • 1998年4月1日12=2+4+6
  • 1998年5月1日17=4+6+7
  • 1998年6月1日24=6+7+11
  • 第一个值将相同,第二个值将是第一个值和第二个值的总和,其余值将是三个降水值的总和。我曾经

    rollappy(沉淀,3,求和)


    但它没有给出日期方面的值。

    您要查找的是cumsum:

    library(data.table)
    Dhaka <- data.table(Dhaka)[order(time)]
    
    totalSum <- Dhaka[, cumsum(precipitation)]
    
    库(data.table)
    
    达卡这里的基本原理是任意三个连续数字的总和是两个时间t和t+3的累积总和之差。非常感谢您的快速回答。我不是按天计算求和值,而是按这种方式计算每月(1998年1月1日,1999年1月1日,2000年1月1日)。我希望是这样的:1998年1月1日,1998年2月1日,1998年3月1日)。你能这样帮我吗?再次感谢。
    diffSum <- diff(totalSum, lag = 3)
    finalSum <- c(totalSum[1:3], diffSum)
    
    Dhaka[, sums := finalSum]