R中的微秒时间戳

时间:2011-08-02 16:49:03

标签: r datetime time-series

在CSV文件中我有几列。一列有时间戳,其中每个戳是今天午夜过去的微秒(每个csv文件只有一天内的数据),所以这不是模棱两可的。

我的问题是,如何将这些微秒时间戳解析为R?非常感谢!

我的CSV文件的一部分:

34201881666,250,10.8,2612,10.99,11,460283,11.01,21450,,,,,
34201883138,23712,10.02,562,10.03,10.04,113650,11,460283,,,,,
34201883138,23712,10.02,562,10.03,10.04,113650,10.05,57811,,,,,

第一列是时间戳(今天午夜过去的微秒)。我想构建一个时间序列,例如在xts包中,以便该系列的时间戳来自第一列。

1 个答案:

答案 0 :(得分:6)

以下是我要做的事情:

  1. 使用,例如ISOdatetime()创建午夜的'锚'时间戳。保持为POSIXct,或使用as.numeric()进行转换。
  2. 为您添加微秒 - 从午夜开始,正确缩放。
  3. 转换为POSIXct(如果需要),您已完成。
  4. 使用前三个时间戳的快速示例:

    R> ISOdatetime(2011,8,2,0,0,0) + c(34201881666, 34201883138, 34201883138)*1e-6
    [1] "2011-08-02 09:30:01.881665 CDT" "2011-08-02 09:30:01.883137 CDT" 
    [3] "2011-08-02 09:30:01.883137 CDT"
    R>