2017-06-12 6 views
1

Ich lese eine CSV mit fread (da es schneller ist als read_csv Methode), Zeitstempel Spalte wird als character Typ genommen.Gibt es eine schnellere Alternative zu POSIXct in R?

will ich es mit zu POSIXct konvertieren: as.POSIXct(strptime(rawTime, "%Y-%m-%d %H:%M:%OS"))

Aber dieser POSIXct Anruf ist sehr langsam.

enter image description here

Gibt es eine schnellere alternatetive dazu?

Antwort

6

Wir fastPOSIXct verwenden von fasttime

library(fasttime) 
str1 <- rep("2015-01-01", 1e6) 
system.time(fastPOSIXct(str1)) 
# user system elapsed 
# 0.08 0.00 0.08 

system.time(as.POSIXct(str1)) 
# user system elapsed 
# 24.80 0.26 25.33 
+0

@DevharshTrivedi Es ist nur für das Benchmarking ich repliziert nur die gleichen 1e6 mal Zeichenelement. Sie könnten auch eine Probe nehmen und es tun. Wenn dein Charakter. Gemäß '' fastPOSIXct' Dokumentation 'Die Reihenfolge der Interpretation ist festgelegt: Jahr, Monat, Tag, Stunde, Minute, Sekunde. Beachten Sie, dass nur echte (positive) POSIX-Daten (seit 1970-01-01 00:00:00) unterstützt werden. – akrun

+1

Vielen Dank! @akrun Ich sah rund ~ 40x Leistungsschub. Einfach toll! : D: D –

Verwandte Themen