2013-01-09 4 views
5

Ich habe eine Tabelle, eine der Spalten ist Daten in Form bei 20130109 oder YearMonthDay ohne Abstand.Zahlen in Daten konvertieren

Ich versuche, diese Punkte zu zeichnen, und wegen dieser ungeraden Abstand, am Ende mit großen Lücken in der Grafik, und möchten diese Zahlen in Daten konvertieren.

Ich habe versucht, as.Date(as.character(20130107), "%y%m%d") zu verwenden, aber das gibt immer eine NA zurück.

+0

Hier ist eine gute Starter-Referenz für die Datumsformatierung: http://www.statmethods.net/input/dates.html –

Antwort

17

Sie benötigen %Y (4 stelliges Jahr) nicht %y (2 stelliges Jahr):

> as.Date(as.character(20130107), "%Y%m%d") 
[1] "07-01-2013" 
1

Mit lubridate

library(lubridate) 

parse_date_time(as.character(20130107), "%Y%m%d") 

Wenn Sie bestimmte Elemente des Datums nur extrahieren wollte, ist dies einfach mit strftime. Zum Beispiel nur das Jahr:

strftime(parse_date_time(as.character(20130107), "%Y%m%d"), "%Y") 
Verwandte Themen