I dati delle serie temporali sono stati ottenuti da un data logger impostato su un fuso orario senza risparmio di luci diurne (NZST o UTC + 12: 00) e i dati si estende qualche anno. I data logger non prendono in considerazione le modifiche all'ora legale e sono sincronizzati con l'ora locale con/senza ora legale (a seconda di chi lo ha distribuito).Data/ora di importazione in un fuso orario specificato, non rispetta ora diurna
Tuttavia, quando si immettono i dati in R, non è possibile utilizzare correttamente as.POSIXct
per ignorare l'ora legale. Sto usando R 2.14.0 su un computer Windows con queste impostazioni:
> Sys.timezone()
[1] "NZDT"
> Sys.getlocale("LC_TIME")
[1] "English_New Zealand.1252"
Qui ci sono tre timestamp in tutto il cambiamento primavera DST, ciascuno sono distanziati uno ora a parte:
> 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"
come si può vedere, gli orologi sono saltati in avanti 1:59 alle 3:00, quindi 2:00 non è valido, quindi NA. Inoltre, posso usare tz="UTC"
per far sì che ignori le modifiche all'ora legale. Tuttavia, preferirei mantenere il fuso orario corretto poiché ho registrato altre serie di dati con DST (NZDT o UTC + 13: 00) che mi piacerebbe fondere (via merge
) per la mia analisi.
Come configurare il parametro tz
su un computer MS Windows? Ho provato molte cose, come "NZST", "New Zealand Standard Time", "UTC + 12: 00", "+1200", ecc., Ma senza fortuna. O modifico qualche altra impostazione?
È possibile utilizzare 'tz =" Etc/GMT + 12 "' – James
@James, perché non si ottiene una risposta? –
@BenBolker Lo farà, basta aggiungere un abbellimento adatto per superare il limite di caratteri – James