我正在尝试根据某一列中的日期计算平均值。可以选择前几天的记录,例如4天。获取前4条记录的平均值减去StartDate,并将平均值向下滚动,直到有EndDate。
我尝试了
tapply(df$Boe, df$ShutinDate, function(x) mean(tail(sort(x), 5)))
我在编写函数时没有得到正确的平均值。
输出结果
Name DATE Values StartDate EndDate Average
TestA 3/3/2017 50
TestA 3/4/2017 75
TestA 3/5/2017 25
TestA 3/6/2017 100
TestA 3/7/2017 100
TestA 3/8/2017 50
TestA 3/9/2017 80
TestA 3/10/2017 90
TestA 3/11/2017 25 3/11/2017
TestA 3/12/2017 0 80
TestA 3/13/2017 0 80
TestA 3/14/2017 0 80
TestA 3/15/2017 0 80
TestA 3/16/2017 50 3/16/2017
dput(df)
将您的数据复制并尝试解决问题。提供所需输出的示例也是不错的。 - Calum You