Zeitbasierte Mittelwertbildung (Schiebefenster) von Spalten in einem data.frame

Ich habe ein data.frame mit mehreren Spalten. Eine der Spalten ist die Zeit und nimmt daher nicht ab. Die restlichen Spalten enthalten Beobachtungen, die zum angegebenen Zeitpunkt in einer bestimmten Zeile des data.frame aufgezeichnet wurden.

Ich möchte ein Zeitfenster auswählen, z. B. "x" Sekunden, und den Durchschnitt (oder eine beliebige Funktion) der Einträge in einigen anderen Spalten im gleichen Datenrahmen für dieses Fenster berechnen.

Natürlich kann die Anzahl der Einträge in einem Fenster abhängig von den Daten variieren, da es sich um einen zeitbasierten Durchschnitt handelt. Dies liegt daran, dass die Anzahl der Zeilen, die zu einem bestimmten Zeitfenster gehören, variieren kann.

Ich habe dies mit einer benutzerdefinierten Funktion durchgeführt, die eine neue Spalte in der Datei data.frame erstellt. Die neue Spalte weist allen Einträgen in einem Zeitfenster eine einzelne Nummer zu. Die Nummer ist in allen Zeitfenstern eindeutig. Dies unterteilt die Daten im Wesentlichen in Gruppen basierend auf den Zeitfenstern. Dann benutze ich die "Aggregat" -Funktion von R, um den Mittelwert zu berechnen.

Ich habe mich nur gefragt, ob es eine R-Funktion gibt, die die Gruppierung basierend auf einem Zeitintervall durchführen kann, oder ob es einen besseren (saubereren) Weg gibt, dies zu tun.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage