Ich versuche in den letzten 6 Monaten einen rollenden Mittelwert für einen Datensatz zu erstellen. Die Daten sind täglich und haben mehr als 100.000 Zeilen, von denen ich unten ein Beispiel zur Verfügung gestellt habe.Rollender Mittelwert mit unterschiedlicher Anzahl von Beobachtungen
# A tibble: 100 × 5
ID MONTH DATE VALUE R_MEAN
<fctr> <dbl> <date> <dbl> <dbl>
1 634 20160200 2016-02-03 2 0.000000
2 1700 20150300 2015-03-02 3 0.000000
3 1700 20150400 2015-04-01 7 3.000000
4 1700 20150400 2015-04-09 1 5.000000
5 1700 20150700 2015-07-02 26 3.666667
6 1700 20150800 2015-08-03 1 9.250000
7 1700 20150900 2015-09-01 2 7.600000
8 1700 20151000 2015-10-01 5 7.400000
9 1700 20151000 2015-10-07 10 7.833333
10 1700 20151100 2015-11-02 8 8.800000
# ... with 90 more rows
Mein Ziel ist es, einen gleitenden Durchschnitt in den letzten 6 Monaten zu schaffen, so zum Beispiel für eine ID: X und DATE-Wert von 20.160.101 ich den Mittelwert aller Zeilen erhalten möchten, die die gleiche ID haben und wobei der DATE-Wert zwischen 20150601 und 20160101 liegt. Wenn keine vorherigen Werte verfügbar sind, nehme ich einen Durchschnittswert von Null an.
Ich dachte an eine Art erweiterter Rasteransatz, aber da ich viele IDs (fast 30.000) habe, würde eine tägliche Erweiterung des Rasters über einen Zeitraum von 2 Jahren zu einem enormen Raster führen.
Großartig! Das hat wunderbar funktioniert! – Michael