Mittelwerte in Paneldatensatz für jeden Tag bilden

Alles zum Thema der beschreibenden Statistik

Moderator: jogo

Antworten
bafor26048
Beiträge: 3
Registriert: Do Apr 22, 2021 12:38 pm

Mittelwerte in Paneldatensatz für jeden Tag bilden

Beitrag von bafor26048 »

Hallo liebes R Forum,
ich bin bei meiner aktuellen Arbeit mit R auf folgendes Problem gestoßen und bin für jede Hilfe dankbar.

Ich betrachte Daten von Benzinpreisen der Tankstellen in Deutschland. Da die Daten leider zu groß sind, kann ich sie hier nicht posten aber sie sind unter folgendem Link frei verfügbar:

https://dev.azure.com/tankerkoenig/_git ... oenig-data

Lädt man nun z.B. die Daten für 2020 herunter, so bekommt man diese jeweils in einzelnen Ordnern für jeden Monat im Jahr 2020.

Die Daten habe ich dann wie folgt in R eingelesen:

Code: Alles auswählen

fileNames01 <- list.files(path="~/Dieselpreise/2020/01", pattern = "*.csv", full.names = TRUE)
januar <- do.call("rbind", lapply(fileNames01, function(x) {read.csv(file = x, header = TRUE, sep = ",")})) 


gleiches mache ich dann mit allen weiteren Monaten (Februar entsprechend im Ordner 02, März 03 usw.) um am Ende dann alle Monate über jahr <- bind_rows(januar,februar,märz,...) zusammenzufügen.

Betrachtet man nun z.B. den Monat Januar sehen die Daten ca. so aus:
Date | Station_ID | Diesel
1. 2020.01.01 00:01:06 | A | 1.159
2. 2020.01.01 06:01:04 | A | 1.189
3. 2020.01.01 14:03:02 | A | 1.179
4. 2020.02.01 00:01:06 | A | 1.159
5. 2020.02.01 06:01:04 | A | 1.189
6. 2020.02.01 14:03:02 | A | 1.179

und entsprechend so geht es weiter für die weiteren Tankstellen (Station_ID B,C,D usw.).
Mein Problem ist hier, dass der Datensatz alle Änderungen der Dieselpreise an einem Tag enthält. Ich möchte jedoch einen Wert pro tag für jede Tankstelle haben.
Meine Idee war hier also mit dem Mittelwert zu arbeiten.
Ich möchte also am Ende für jede Station einen Mittelwert über die angegebenen Dieselpreise für jeden Tag im Januar (und später dann für alle Monate) berechnen.

Bisher habe ich versucht das Problem mit "dplyr" über den group_by Befehl zu lösen, damit bin ich aber noch nicht wirklich zum Erfolg gekommen.
Hat jemand hier eine Idee wie ich das schaffen könnte?

Ich hoffe ich konnte mein Problem ausführlich genug darstellen und erklären.
Vorab schonmal vielen Dank für eure Hilfe :)
ruedi_br
Beiträge: 159
Registriert: Do Mär 01, 2018 3:53 pm

Re: Mittelwerte in Paneldatensatz für jeden Tag bilden

Beitrag von ruedi_br »

Um mit Datumsangaben zu arbeiten, Paket lubridate probieren (neue Spalte mit dem Tag generieren), danach dann gruppieren und mitteln.
S.a. unter https://r4ds.had.co.nz/
VG
Ruedi
fortune(111)
Antworten