Tengo datos de series de tiempo obtenidos de un registrador de datos que se configuró en una zona horaria sin ahorros (NZST o UTC + 12: 00) y los datos abarcan unos años. Los registradores de datos no consideran los cambios de horario de verano, y están sincronizados con la hora local con/sin horario de verano (dependiendo de quién lo implementó).Importar fecha-hora en una zona horaria específica, sin tener en cuenta el horario de verano
Sin embargo, cuando obtengo los datos en R, no puedo usar correctamente as.POSIXct
para ignorar el horario de verano. Estoy usando R 2.14.0 en un ordenador Windows con estos valores:
> Sys.timezone()
[1] "NZDT"
> Sys.getlocale("LC_TIME")
[1] "English_New Zealand.1252"
Aquí hay tres marcas de tiempo a través del cambio de horario de verano primavera, cada queden situados a 1 hora de diferencia:
> ts_str <- c("28/09/2008 01:00", "28/09/2008 02:00", "28/09/2008 03:00")
> as.POSIXct(ts_str, format="%d/%m/%Y %H:%M", tz="")
[1] "2008-09-28 01:00:00 NZST" NA
[3] "2008-09-28 03:00:00 NZDT"
> as.POSIXct(ts_str, format="%d/%m/%Y %H:%M", tz="UTC")
[1] "2008-09-28 01:00:00 UTC" "2008-09-28 02:00:00 UTC"
[3] "2008-09-28 03:00:00 UTC"
Como se puede mira, los relojes saltaron hacia adelante a la 1:59 a las 3:00, entonces 2:00 no es válido, por lo tanto, NA. Además, puedo usar tz="UTC"
para hacer que ignore los cambios del horario de verano. Sin embargo, prefiero mantener el huso horario correcto ya que tengo otras series de datos registradas con DST (NZDT o UTC + 13: 00) que me gustaría combinar (a través de merge
) para mi análisis.
¿Cómo configuro el parámetro tz
en una computadora MS Windows? He intentado muchas cosas, como "NZST", "Hora estándar de Nueva Zelanda", "UTC + 12: 00", "+1200", etc., pero no tuve suerte. ¿O modifico alguna otra configuración?
Podría usar 'tz =" Etc/GMT + 12 "' – James
@James, ¿por qué no hace que una respuesta? –
@BenBolker ¿Lo hará, solo necesita agregar un adorno adecuado para superar el límite de caracteres – James