2016-04-12 19 views
-2

Ich habe einen Datums-String-Vektor mit Elementen wie diesem "05MAR15: 21: 58: 17" und ich möchte es als Datum und Uhrzeit Format in R. Ich habe versucht substr (inging) in Fragmenten dann wieder einfügen sie dann verwenden Sie die as.Date aber es gibt immer Elemente.Lesen Zeichenfolge Vektor als Datum

+1

Ist die 15 für das Jahr 2015? –

Antwort

6

In Basis R:

x <- "05MAR15:21:58:17" 

das Datum extrahieren man verwenden:

as.Date(as.POSIXct(x, format='%d%b%y:%H:%M:%S')) 
#"2015-03-05" 

und in ähnlicher Weise für die Zeit:

format(as.POSIXct(x, format='%d%b%y:%H:%M:%S'),"%H:%M:%S") 
[1] "21:58:17" 
+0

Danke für die Antwort. Wenn ich sie ausprobierte: '> x <-" 05MAR15: 21: 58: 17 " > as.Datum (als.POSIXct (x, format = '% d% b% y:% H:% M:% S ')) [1] NA > Format (als.POSIXct (x, Format ='% d% b% y:% H:% M:% S '), "% H:% M:% S ") [1] NA' mache ich es falsch? –

+0

Re: Ich behob das NA Problem durch lct <- Sys.getlocale ("LC_TIME"); Sys.setlocale ("LC_TIME", "C") Danke nochmal –

1

Der Schlüssel ist das lubridate Paket!

library(lubridate) 
x="05MAR15:21:58:17" 
dmy_hms(x) 

Die dmy_hms steht für „Tag Monat Jahr Stunden Minuten Sekunden“, die die Reihenfolge, wie sie in der Zeichenfolge erscheinen soll. Ähnlich gibt es eine mdy_hms Funktion unter anderen.