Ich möchte ein YYYYMM-integer
in ein Date umwandeln, ohne es in ein Zeichen umzuwandeln (= gibt es eine mdy-Funktion wie in SAS?). Ich möchte diesen Code ersetzen:Konvertiere ein yyyym-Integer nach Datum
dateint<-201511
datestr<-paste(toString(dateint,length=8),'01')
date<-as.Date(datestr,'%Y%m%d')
print(date)
class(date)
mit einer funktionierenden Version von diesem. Wenn möglich, sollte die resultierende Klasse ein Datum sein:
year<-dateint %% 100
month<-floor(dateint/100)
date2<-ISOdate(year,month,1) # I can't make this work ..
print(date2)
class(date2)
Dank & freundlichen Grüßen
Bitte erläutern Sie, warum Ihre Lösung für Ihre Zwecke nicht ausreicht. Aufgrund von Schaltjahren (und den komplexen Regeln, die sie betreffen) ist eine Lösung, die eine Zeichenkette nicht analysiert (wodurch OS-Einrichtungen verwendet werden), nicht durchführbar. – Roland
Warum ist die Umwandlung in Zeichen nicht ok? – mpiktas
In meinen Augen ist es komisch, eine Zahl in ein Zeichen und dann wieder in eine Zahl (= Datum) umzuwandeln. Vielleicht ist das eine dumme Frage - oder lassen Sie mich die Frage so stellen: Würde jemand mit R-Erfahrung den ersten Code richtig programmieren? –