由於我在寫這篇文章之前曾經指出這是重複的,所以無論如何我都會將它添加爲答案。基本上包fasttime
可以幫助你IF你有日期後1970-01-01 00:00:00
和他們GMT
和他們的格式year, month, day, hour, minute, second
的。如果你可以重寫你的日期格式,然後fastPOSIXct
會很快:
# data
date <- c("2013/5/31 23:30" , "2013/5/31 23:35" , "2013/5/31 23:40" , "2013/5/31 23:45")
require(fasttime)
# fasttime function
dates.ft <- fastPOSIXct(date , tz = "GMT")
# base function
dates <- as.POSIXct(date , format= "%Y/%m/%d %H:%M")
# rough comparison
require(microbenchmark)
microbenchmark(fastPOSIXct(date , tz = "GMT") , as.POSIXct(date , format= "%Y/%m/%d %H:%M") , times = 100L)
#Unit: microseconds
# expr min lq median uq max neval
# fastPOSIXct(date, tz = "GMT") 19.598 21.699 24.148 25.5485 215.927 100
# as.POSIXct(date, format = "%Y/%m/%d %H:%M") 160.633 163.433 168.332 181.9800 278.220 100
但問題是,是能更快日期轉換爲一種格式fasttime
可以接受或只使用as.POSIXct
或購買更快的計算機?!
http://stackoverflow.com/questions/14218297/convert-string-date-to-r-date-fast-for-all-dates –
有包[快速時間](http://www.rforge。 net/fasttime /),但它需要一個特定的格式。 – Roland
http://stackoverflow.com/questions/12898318/convert-character-to-date-quickly-in-r –