Dado el siguiente problema con el redondeo de milisegundos en R. ¿Cómo lo soluciono para que los tiempos sean los correctos?Problema R con el redondeo de milisegundos
> options(digits.secs=3)
> as.POSIXlt("13:29:56.061", format='%H:%M:%OS', tz='UTC')
[1] "2012-06-07 13:29:56.060 UTC"
> as.POSIXlt("13:29:56.062", format='%H:%M:%OS', tz='UTC')
[1] "2012-06-07 13:29:56.061 UTC"
> as.POSIXlt("13:29:56.063", format='%H:%M:%OS', tz='UTC')
[1] "2012-06-07 13:29:56.063 UTC"
me di cuenta de que esta URL proporciona información de fondo, pero no resuelve mi problema: Milliseconds puzzle when calling strptime in R.
También esta URL toca el problema pero no lo resuelve: R xts: .001 millisecond in index.
En estos casos lo hago ver lo siguiente:
> x <- as.POSIXlt("13:29:56.061", format='%H:%M:%OS', tz='UTC')
> print(as.numeric(x), digits=20)
[1] 1339075796.0610001087
La URL también parece indicar que esto es sólo un problema de presentación, pero me he dado cuenta de que el uso de declaraciones como "%OS3"
sin la línea de opciones no hacer parece recoger el número correcto de dígitos.
La versión que estoy usando es de 32 bits 2.15.0 bajo Windows, pero esto parece existir en otras situaciones para R.
Tenga en cuenta que los datos de mi original es que estas cadenas de fecha y hora dentro de un archivo CSV debo encontrar una forma de convertirlos en el tiempo de milisegundos correcto desde una cadena.
El uso de formato() aquí es innecesario y molesto. . . – mdsumner
Bueno, sí, pero sí necesitamos 'format = '% H:% M:% OS''. –
Véase también http://stackoverflow.com/a/7730759/210673 – Aaron