mimick Um Daten im Laufe der Zeit zu manipulieren/summieren, verwende ich normalerweise SQL ROW_NUMBER() OVER (PARTITION von ...). Ich bin neu in R, also versuche ich Tabellen neu zu erstellen, die ich sonst in SQL erstellen würde. Das Paket sqldf erlaubt keine OVER-Klauseln. Beispieltabelle:Wie man ROW_NUMBER() OVER (...) in 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
ich meine letzte Tabelle den Durchschnitt der vorangegangenen zwei Instanzen für jeden Tag nach der zweiten Instanz (Tag 4 für beide) enthalten sein sollen:
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
Ich habe versucht, um mit aggregate
herumzuspielen, aber ich bin nicht wirklich sicher, wie man die Funktion teilt oder qualifiziert. Idealerweise würde ich es vorziehen, nicht die Tatsache zu verwenden, dass id
sequenziell mit dem Datum ist, um meine Antwort zu bilden (d. H. Die ursprüngliche Tabelle könnte mit zufälliger Datumsreihenfolge neu angeordnet werden und Code würde immer noch funktionieren). Lassen Sie mich wissen, wenn Sie weitere Informationen benötigen, vielen Dank für Ihre Hilfe!
Sie können OVER mit sqldf verwenden, wenn Sie das PostgreSQL-Backend verwenden. –