2017-06-12 5 views
1

私はfread(これはread_csvの方法よりも速いので)のCSVを読んでいます。タイムスタンプの列はcharacterとなります。RのPOSIXctに代わるものはありますか?

私はPOSIXctに変換したい: as.POSIXct(strptime(rawTime, "%Y-%m-%d %H:%M:%OS"))

しかし、これPOSIXctコールは非常に遅いです。

enter image description here

これまで任意の迅速alternatetiveありますか?

答えて

6

我々はそれだけでベンチマークのために、私はちょうど同じ文字要素1E6回複製され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からfastPOSIXctを使用することができます。サンプルを取ってやることもできます。あなたのキャラクターなら。 '?fastPOSIXct'ドキュメンテーションによれば、解釈の順序は年、月、日、時、分、秒と固定されています。真(正の)POSIX日付(1970-01-01 00:00:00以降)のみがサポートされていることに注意してください。 – akrun

+1

ありがとう! @akrun約40倍の性能向上を見ました。単に素晴らしいです! :D:D –

関連する問題