Ich habe vielleicht eine neugierige Lücke im Laufe der Zeit in den frühen Stunden des 2017-10-01 entdeckt. Ich habe einen abgenutzten Code, den ich oft verwende, um 30-minütige Intervalle zum Zusammenfassen und Plotten von Zählwertbeobachtungen zu erstellen. Die Intervalle beginnen bei Sonnenuntergang und enden um die Morgendämmerung - so ändert sich das Datum um Mitternacht. Für fast jedes Datenpaar ("Nacht") möchte ich etwas eingeben, mein Code funktioniert einwandfrei. Aber für die Nacht von 2017-09-30 überspringt es zwei Intervalle 02:00 und 02:30. Code unten.Odd Zeitlücken mit POSIXct
missing.times <- data.frame(isotime2=seq(as.POSIXct("2017-09-30 17:30:00", format="%Y-%m-%d %H:%M:%S"), as.POSIXct("2017-10-01 06:30:00", format="%Y-%m-%d %H:%M:%S"), by="30 min")); missing.times #missing 0200 and 0230
all.okay <- data.frame(isotime2=seq(as.POSIXct("2017-10-01 17:30:00", format="%Y-%m-%d %H:%M:%S"), as.POSIXct("2017-10-02 06:30:00", format="%Y-%m-%d %H:%M:%S"), by="30 min")); all.okay
Ich versuchte einen hinterhältigen Workaround, aber ich produziere immer noch eine Lücke.
#create intervals for the next date from midnight to 06:30
workaround <- data.frame(isotime2=seq(as.POSIXct("2017-10-02 00:00:00"), as.POSIXct("2017-10-02 06:30:00"), by="30 min")); workaround; str(workaround)
#substitute the following date for the time-gap date 2017-10-01
workaround$isotime2 <-gsub("2017-10-02", "2017-10-01", workaround$isotime2); workaround; str(workaround)
#change the vector "isotime2" from character to POSIXct magically makes time disappear
workaround$isotime2 <-as.POSIXct(workaround$isotime2, format="%Y-%m-%d %H:%M:%S"); workaround; str(workaround)
Habe ich irgendwie diese Zeitlücke geschaffen, oder weiß R etwas über eine Faltung in der Raumzeit? Ich habe geschlafen, als es passiert ist.
Ich vermute, dass Sie in Australien sind. Die Uhren haben an diesem Tag in Australien die Sommerzeit geändert. – G5W
@ G5W danke, ja ich bin in Australien, und ich habe mich gefragt, aber ich habe keine Zeitzone im Code angegeben, und wir haben einige Zustände, die für Sommerzeit ändern, und andere, die nicht ändern. Vielleicht weiß ich, dass ich in einem Zustand mit Sommerzeit bin. Meine Daten stammen aus einem Status, der dies nicht tut. Wenn ich 'tz =" Australia/Perth "einschließe, wird es nicht repariert. – ptenax
Sehen Sie sich Ihre Gebietsschema-Informationen von 'sessionInfo()' an. Dies kann sich darauf auswirken, wie die Zonen interpretiert werden. Wo genau hast du das 'tz =' hingelegt und was war das Ergebnis, das du gegen das bekommen hast, was du erwartet hast? – MrFlick