2016-06-23 6 views
-4

sagen, dass ich eine Spalte in meine Datenrahmen nur Objekte von Zeichenketten enthalten haben:R: Drehen eine Reihe von h: m: s zu der entsprechenden Zeit Objekt

"00:20:10" 
"02:12:10" 

etc

Ich möchte nur Konvertiere diese Strings in das entsprechende Zeittyp-Objekt (in der Chron-Bibliothek), damit ich Dinge wie die Berechnung der Durchschnittszeit usw. machen kann. Wie kann ich das tun?

Mein Versuch ist gerade mal (Daten Spalte) aber ich bekomme einen Dezimalwert.

+2

Zeigen Sie Ihre aktuellen Ergebnisse und weitere Informationen zu Ihrem aktuellen Code. –

Antwort

0
as.POSIXct('00:20:10', format='%H:%M:%S') 

[1] "2016.06.23 00.20.10 EDT"

as.POSIXct('2:12:10', format='%H:%M:%S') 

[1] "2016.06.23 02.12.10 EDT"

Sie können auch Datum, von

as.POSIXct('06/23/2016 00:20:10', format='%m/%d/%Y %H:%M:%S') 

[1] "2016.06.23 00.20.10 EDT"

1

Jus angeben Zur Vereinfachung verwende ich einen data.frame mit nur einer einzigen Spalte. Beachten Sie, dass die zugrunde liegenden Daten trotz der Anzeige als korrektes Zeitformat immer noch ein Dezimalwert sind.

library("chron") 

mydf <- data.frame(time = c("00:20:10", "02:12:10"), stringsAsFactors = FALSE) 
mydf[] <- lapply(mydf,times) 

mydf 
     time 
1 00:20:10 
2 02:12:10 

str(mydf) 

'data.frame': 2 obs. of 1 variable: 
    $ time:Class 'times' atomic [1:2] 0.014 0.0918 
.. ..- attr(*, "format")= chr "h:m:s" 
Verwandte Themen