Seite 1 von 1

Fehler bei Umwandlung eines Datums

Verfasst: Do Mai 17, 2018 11:27 pm
von Kartim92
Guten Abend zusammen,

in meinem vorliegenden Datensatz ist unter anderem eine Spalte in der ein Datum in folgendem Format vorliegt:

"31jan2013" "28feb2013" "31mar2013" "30apr2013" "31may2013" "30jun2013" "31jul2013" "31aug2013" "30sep2013" "31oct2013" "30nov2013" "31dec2013"

Das Format des Vektors ist "factor". Diesen Vektor möchte ich in ein bearbeitbares Datum umwandeln. Zunächst habe ich über folgende Funktion den Vektor in das Format character umgewandelt:

BSP$date <- as.character(BSP$date)

Im nächsten Schritt habe ich mittels strptime den Vektor in ein Datum gewandelt:

BSP$date_new <-strptime(BSP$date, format = "%d%b%Y")

Das Ganze hat auch beim ersten Versuch erstaunlich gut funktioniert. Leider wird für bestimmte Monate immer der Wert "NA" ausgegeben. Die Vektoreinträge für die obenstehende Reihe sehen wie folgt aus:

"2013-01-31 CET" "2013-02-28 CET" NA "2013-04-30 CEST" NA "2013-06-30 CEST" "2013-07-31 CEST" "2013-08-31 CEST" "2013-09-30 CEST" NA "2013-11-30 CET" NA

Das Problem tritt über den gesamten Vektor in den Monaten März, Mai, Oktober und Dezember auf. Leider bin ich mit meinem Wissen am Ende :cry: und frage mich, wie ich das Problem löse. Kann mir jemand aus der Community helfen?

Vielen Dank vorab und beste Grüße

Re: Fehler bei Umwandlung eines Datums

Verfasst: Fr Mai 18, 2018 12:03 am
von Athomas
Guckst Du hier:

Code: Alles auswählen

alter.Stand <- Sys.getlocale(category="LC_TIME")
alter.Stand

Datumsstring <- "11may2018"
Datum <- as.Date(Datumsstring, format = "%d%b%Y")
Datum

Sys.setlocale(category = "LC_TIME", locale = "US")
Datum <- as.Date(Datumsstring, format = "%d%b%Y")
Datum

Sys.setlocale(category = "LC_TIME", locale = alter.Stand)
Sys.getlocale(category="LC_TIME")

Re: Fehler bei Umwandlung eines Datums

Verfasst: Fr Mai 18, 2018 10:00 am
von Kartim92
Hallo Athomas,

funktioniert super, vielen vielen Dank :)