2017-06-12 71 views
1

我正在閱讀CSV與fread(因爲它比read_csv方法更快),時間戳列取爲character類型。R中有沒有更快的POSIXct替代方案?

我想它轉換爲POSIXctas.POSIXct(strptime(rawTime, "%Y-%m-%d %H:%M:%OS"))

但這POSIXct通話非常緩慢。

enter image description here

有沒有更快alternatetive這樣做呢?

回答

6

我們可以使用fastPOSIXctfasttime

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這只是爲標杆我只是複製了相同的字符元素1E6倍。你也可以拿一個樣本來做。如果你的角色。根據'fastPOSIXct'文檔'解釋順序是固定的:年,月,日,小時,分鐘,秒。請注意,只支持真正的(正)POSIX日期(自1970-01-01 00:00:00以來)支持' – akrun

+1

謝謝! @akrun我看到了約40倍的性能提升。就是棒! :D:D –

相關問題