我的数据框状态如下:
sg date_time tick_count
1 4 2014-07-24 11:02:02 0
2 4 2014-07-24 11:02:02 6
3 4 2014-07-24 11:02:02 19
4 4 2014-07-24 11:02:02 11
5 4 2014-07-24 11:02:02 15
6 4 2014-07-24 11:02:02 17
7 4 2014-07-24 11:02:02 29
8 4 2014-07-24 11:02:02 24
9 4 2014-07-24 11:02:02 38
10 < 2014-07-24 11:02:02 30
11 < 2014-07-24 11:02:02 34
12 < 2014-07-24 11:02:02 40
13 < 2014-07-24 11:02:02 41
14 < 2014-07-24 11:02:02 42
15 < 2014-07-24 11:02:02 47
列tick_count的单位是100毫秒。我需要在date_time上添加tick_count时间来创建一个新的时间列。
我将date_time转换为unix时间戳,然后加上tick_count / 10:
newtime <- as.numeric(as.POSIXct(status$date_time, tz="Finland/Helsinki")+status$tick_count/10)
但结果完全是第二个:
head(newtime)
[1] 1406188922 1406188923 1406188924 1406188923 1406188924 1406188924
我该怎么做以毫秒显示时间?
答案 0 :(得分:5)
它只是&#34;只是&#34;显示问题。使用
options("digits.secs"=6)
看到完全精确。
完整示例:
R> options("digits.secs"=0) # reset
R> tt <- ISOdatetime(2014,7,28,10,11,12)
R> tt
[1] "2014-07-28 10:11:12 CDT"
R> tt <- tt + 1e-5
R> tt
[1] "2014-07-28 10:11:12 CDT"
R> options("digits.secs"=6) # full precision
R> tt
[1] "2014-07-28 10:11:12.00001 CDT"
R>