Int in Datum
Verfasst: Mi Apr 24, 2019 11:42 am
Liebe Forum-Mitglieder,
wieder einmal stehe ich vor einem Problem. Diesmal habe ich eine Variable, die die Tagesmittelwerte an verschiedenen Stationen enthält.
Ich habe tägliche Mittelwerte an den insgesamt 672 Stationen, "dm" bezeichnet in diesem Fall den Tag und das Monat (101 = 1. Januar). Greift man eine Station heraus, sieht man, dass "dm" nicht aufsteigend sortiert ist, sondern zuerst jeweils immer der 1. Tag, dann der 2. Tag, usw.
Um den zeitlichen Verlauf graphisch darstellen zu können, benötige ich allerdings die Reihenfolge 101, 201, 301, 401, ... 3012, 3112.
Mit sortieren bin ich leider nicht weitergekommen, da ja die Werte "sortiert" sind, nur halt nicht so, wie ich das gerne möchte. Jetzt dachte ich, dass ich dm in ein Datumsformat umspeicherte und ich im Idealfall eine weitere Spalte Tag "01-01", "01-02" ... habe und ich diese dann dementsprechend sortierte.
Nach mehreren Versuchen bekam ich dann folgendes Ergebnis:
Leider stimmt das nicht so ganz, da es ja nicht der 10. Oktober ist, sondern der 1. Januar. Ändere ich den Code zum auf "format = "%d%mm" bekomme ich als Ergebnis NAs.
Vielleicht kann mir jemand helfen, wie ich die Codezeile korrekt eingeben muss, um am Ende 01-01, 02-01, etc. zu bekommen
Bzw. gibt es auch eine Möglichkeit, die Spalte dm so zu sortieren, dass ich mir den Umweg über die Datumsumwandlung erspare?
Danke für eure Hilfe.
Grüße
Jessi
wieder einmal stehe ich vor einem Problem. Diesmal habe ich eine Variable, die die Tagesmittelwerte an verschiedenen Stationen enthält.
Code: Alles auswählen
str(mittel_Tag)
'data.frame': 81984 obs. of 3 variables:
$ Station : Factor w/ 672 levels "ANDO","AUSS",..: 1 2 3 4 5 6 7 8 9 10 ...
$ dm : int 101 101 101 101 101 101 101 101 101 101 ...
$ Tagesmittel: num -0.6 -1 -1 -1 -1 -1 -1 -1 -1 -1 ...
Code: Alles auswählen
aus <- subset(mittel_Tag, mittel_Tag$Station == "AUSS")
str(aus)
'data.frame': 122 obs. of 3 variables:
$ Codename : Factor w/ 672 levels "ANDO","AUSS",..: 2 2 2 2 2 2 2 2 2 2 ...
$ dm : int 101 102 103 104 ... 201 202 203 204 ... 301 302 ...
$ Tagesmittel: num -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ...
Mit sortieren bin ich leider nicht weitergekommen, da ja die Werte "sortiert" sind, nur halt nicht so, wie ich das gerne möchte. Jetzt dachte ich, dass ich dm in ein Datumsformat umspeicherte und ich im Idealfall eine weitere Spalte Tag "01-01", "01-02" ... habe und ich diese dann dementsprechend sortierte.
Nach mehreren Versuchen bekam ich dann folgendes Ergebnis:
Code: Alles auswählen
dmt <- as.Date(as.character(mittel_Tag$dm), format = "%d%m")
str(dmt)
Date[1:81984], format: "2019-01-10" "2019-01-10" "2019-01-10" "2019-01-10" "2019-01-10"
Vielleicht kann mir jemand helfen, wie ich die Codezeile korrekt eingeben muss, um am Ende 01-01, 02-01, etc. zu bekommen

Bzw. gibt es auch eine Möglichkeit, die Spalte dm so zu sortieren, dass ich mir den Umweg über die Datumsumwandlung erspare?
Danke für eure Hilfe.
Grüße
Jessi