次の形式の日付文字列の約 200 万行を含む csv があります。
2012/11/13 21:10:00
それを呼びましょうcsv$Date.and.Time
これらの日付 (およびそれに付随するデータ) をできるだけ早く xts に変換したい
変換を正常に実行するスクリプトを作成しましたが (以下を参照)、非常に遅いので、できるだけ高速化したいと考えています。
これが私の現在の方法論です。これをより速くする方法について何か提案はありますか?
dt <- as.POSIXct(csv$Date.and.Time,tz="UTC")
idx <- format(dt,tz=z,usetz=TRUE)
したがって、スクリプトはこれらの日付文字列を に変換しPOSIX.ct
ます。format
次に、 (z
は変換先の TZ を表す変数です)を使用してタイムゾーン変換を行います。xts
次に、csv 内の残りのデータを使用して、これを xts シリーズにする定期的な呼び出しを行います。
これは 100% 機能します。とても、とても遅いです。これを並行して実行しようとしました(何もしません。どちらかといえば悪化します)。「遅い」とはどういう意味ですか?
user system elapsed
155.246 16.430 171.650
それは 3GhZ、16GB RAM 2012 mb pro です。Win7マシンで32GB RAMを搭載した同様のプロセッサで約半分を取得できます
誰かがより良いアイデアを持っていると確信しています-私はRcpp
などを介して提案を受け付けています。そうは言っても、最速の変換が得られる方法であれば、私はこれを行うつもりです。
私はどんな助けにも非常に感謝しています。前もって感謝します。