時間の経過とともにデータを操作/要約するには、通常、SQL ROW_NUMBER()OVER(PARTITION by ...)を使用します。私はRには新しいので、そうでなければSQLで作成するテーブルを再作成しようとしています。 sqldfパッケージでは、OVER句を使用できません。例テーブル:ROW_NUMBER()をオーバーライドする方法R
ID Day Person Cost
1 1 A 50
2 1 B 25
3 2 A 30
4 3 B 75
5 4 A 35
6 4 B 100
7 6 B 65
8 7 A 20
私は私の最後の表はその2番目のインスタンス(いずれも4日目)の後に日ごとに、前の2つのインスタンスの平均値を含める:
ID Day Person Cost Prev2
5 4 A 35 40
6 4 B 100 50
7 6 B 65 90
8 7 A 20 35
私がしようとしてきましたaggregate
で遊ぶことができますが、私は実際にどのように機能を分割したり修飾したりするのかは分かりません。理想的には、私はid
が私の答えを形成する日付と逐次的であるという事実を使用したくないです(元のテーブルはランダムな日付順で並び替えることができ、コードはまだ動作します)。あなたの助けを借りて、より多くの詳細が必要な場合はお知らせください!あなたはdplyr 2.の幅とzoo::rollapplyr
に遅れる可能性が
PostgreSQLバックエンドを使用する場合は、sqldfでOVERを使用できます。 –