Pregunta
Estoy tratando de analizar un vector de cadena de tiempo y encontré un error extraño. Por ejemplo, si ejecuto la siguiente sección del código, R devolvió el resultado como se esperaba.
time_format="%m/%d/%Y %H:%M:%S"
t_1 = "03/13/2011 01:00:10"
as.POSIXct(t_1, format = time_format)
Producción:
[1] "2011-03-13 01:00:10 EST"
Sin embargo, si cambio el tiempo ligeramente a las 2 am
t_2 = "03/13/2011 02:00:10"
as.POSIXct(t_2, format = time_format)
La salida se convirtió en:
[1] NA
Puedo reproducirlo en R 2.11.1 y 2.12.2 en Windows 7 y XP. ¿Alguien se encuentra con el mismo problema?
Gracias Derek
Solución
Tú no poder Analizar tiempos inexistentes. 02:00:10 no existió, ya que tuvimos 'Primavera hacia adelante' este sábado por la noche / domingo por la mañana con el cambio a la luz del día. R sabe esto:
R> t_1 = "03/13/2011 01:00:10"; as.POSIXct(t_1, format = time_format)
[1] "2011-03-13 01:00:10 CST"
R> t_2 = "03/13/2011 02:00:10"; as.POSIXct(t_2, format = time_format)
[1] "2011-03-13 01:00:10 CST"
R> t_3 = "03/13/2011 03:00:10"; as.POSIXct(t_3, format = time_format)
[1] "2011-03-13 03:00:10 CDT"
R>
En Linux, mi biblioteca de zona horaria parece hacer frente - 02:00:10 se convierte en 01:00:10 a medida que se resta una hora.