2013-07-10 26 views
3

我不确定这是否只是一个输出问题,但只是想检查。POSIXct亚秒输出

我有以下字符串,我想转换为POSIXct,但不像传统的POSIXct我有亚秒级准确度,我想维护,因为我想用它作为一个xts对象的索引。

所以,问题如下,我有字符串对象j

> dput(j) 
c("2013-07-09 23:40:00.001", "2013-07-09 23:40:00.002", "2013-07-09 23:40:00.003", "2013-07-09 23:40:00.004") 

,并想将其隐蔽的POSIXct对象

所以通常会尝试这个办法:

> options("digits.secs" = 3) 
> as.POSIXct(j, format="%Y-%m-%d %H:%M:%OS") 
[1] "2013-07-09 23:40:00.000 BST" "2013-07-09 23:40:00.002 BST" 
[3] "2013-07-09 23:40:00.003 BST" "2013-07-09 23:40:00.003 BST" 

正如你所看到的输出对象不完全匹配字符串(即亚秒为0,2,3,3而不是1,2,3,4)...有没有办法解决这个问题,所以日在它呢?或者它只是一个输出可视化问题?

回答

2

这是一种表示错误,与截断相结合。

观察与6 D.P:

format(as.POSIXct(j),"%Y-%m-%d %H:%M:%OS6") 
[1] "2013-07-09 23:40:00.000999" "2013-07-09 23:40:00.002000" 
[3] "2013-07-09 23:40:00.003000" "2013-07-09 23:40:00.003999" 
+1

那不是整个问题的输出。查看重复的问题以获得更好的解释。 –