dfの場合、最後の10秒間の値のローリング・サムを秒単位で指定したいと思います。データフレームが非常に大きいので、dply :: completeを使用することはオプションではありません(何百万というデータポイント、ミリ秒レベル)。私はdplyrソリューションを好むが、datatable 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))
ソリューションは、過去10秒間のローリング合計をとる列(Sum.10S)を追加します。
df$Sum.10S=c(4,11,13,8,3,11,3)
コメントを反映するために3番目の数字を13に固定しました。したがって、3行目には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:5の合計になります。行6は行5:6の合計になります。行7は行7:7の合計ですか?あなたの目標をここで理解していますか? – SeldomSeenSlim
はい、正しいです。 – user5316628