對於df我想在最後10秒內取值列的滾動總和,時間以秒爲單位。數據幀非常大,所以使用dply :: complete不是一個選項(數百萬個數據點,毫秒級別)。我更喜歡dplyr解決方案,但認爲它可能與數據表left_join,只是不能使其工作。在指定範圍內的滾動金額
df = data.frame(Row=c(1,2,3,4,5,6,7),Value=c(4,7,2,6,3,8,3),Time=c(10021,10023,10027,10035,10055,10058,10092))
解決方案會增加一列(Sum.10S),其採用的過去10秒的軋製總和:
df$Sum.10S=c(4,11,13,8,3,11,3)
將第三個數字固定爲13以反映評論。因此,第三行有10027年的時間,並且累計了最近10秒的值(10021處爲4,10023處爲7,10027處爲2) – user5316628
當你說'最後'時,你的意思是前10秒?因此,對於您的data.frame,第1行將是第1:1行的總和。第2行將是1:2行的總和。第3行將是1:3行的總和。第4行將是第3:4行的總和。第五行是5:5行的總和。第6行將是第5:6行的總和。第7行將是第7:7行的總和。我在這裏瞭解你的目標嗎? – SeldomSeenSlim
是的,這是正確的。 – user5316628