如何创建索引包含毫秒的xts对象?我在POSIXlt帮助页面中找不到任何格式规范,但indexFormat()中有reference到%OS。
更新
基于Gavin zoo答案的xts示例:
> options(digits.secs = 3)
> data(sample_matrix)
> sample.xts = xts(sample_matrix, Sys.time() + seq(0, by = 0.1, length = 180))
> head(sample.xts)
Open High Low Close
2012-03-20 08:49:02.820 50.03978 50.11778 49.95041 50.11778
2012-03-20 08:49:02.920 50.23050 50.42188 50.23050 50.39767
2012-03-20 08:49:03.020 50.42096 50.42096 50.26414 50.33236
2012-03-20 08:49:03.120 50.37347 50.37347 50.22103 50.33459
2012-03-20 08:49:03.220 50.24433 50.24433 50.11121 50.18112
2012-03-20 08:49:03.320 50.13211 50.21561 49.99185 49.99185
答案 0 :(得分:7)
这适用于动物园包,所以我怀疑它也适用于 xts ,因为后者建立在前者之上。
> ## create some times with milliseconds
> times <- Sys.time() + seq(0, by = 0.1, length = 10)
> times
[1] "2012-03-19 22:10:57.763 GMT" "2012-03-19 22:10:57.863 GMT"
[3] "2012-03-19 22:10:57.963 GMT" "2012-03-19 22:10:58.063 GMT"
[5] "2012-03-19 22:10:58.163 GMT" "2012-03-19 22:10:58.263 GMT"
[7] "2012-03-19 22:10:58.363 GMT" "2012-03-19 22:10:58.463 GMT"
[9] "2012-03-19 22:10:58.563 GMT" "2012-03-19 22:10:58.663 GMT"
> ZOO <- zoo(1:10, order = times)
> index(ZOO)
[1] "2012-03-19 22:10:57.763 GMT" "2012-03-19 22:10:57.863 GMT"
[3] "2012-03-19 22:10:57.963 GMT" "2012-03-19 22:10:58.063 GMT"
[5] "2012-03-19 22:10:58.163 GMT" "2012-03-19 22:10:58.263 GMT"
[7] "2012-03-19 22:10:58.363 GMT" "2012-03-19 22:10:58.463 GMT"
[9] "2012-03-19 22:10:58.563 GMT" "2012-03-19 22:10:58.663 GMT"
查看毫秒的技巧是通过digits.secs
更改options()
选项。以上执行使用:
> getOption("digits.secs")
[1] 3
使用
设置> opts <- options(digits.secs = 3)
您可以通过执行options(opts)
将其重置为默认值(0)。默认情况下,R不会打印亚秒信息,因为digits.secs
默认为0
。即使没有打印,数据也会以亚秒的精度记录。
如果这不是您的意思,您能解释一下您所做的不起作用吗?