Dies ist eine Möglichkeit, im POSIXctUniversum zu bleiben lubridateund Datumsformate nicht in Basis-Rs zu ändern POSIXt. Ich vermeide es, das Datumsformat in meinen Skripten zu ändern, da es häufig vorkommt, dass Fehler (z. B. Zeitzonenänderungen oder Verlust von Zeitstempeln) auftreten. Es folgt dieser Rat %m+%: R: Hinzufügen eines Monats zu einem Datum
library("lubridate")
posixct.in <- parse_date_time(x = "2016-02-29", orders = "ymd")
posixct.seq <- posixct.in %m+% years(x = seq.int(from = 0, to = 3, by = 1))
posixct.seq <- posixct.in %m+% months(x = seq.int(from = 0, to = 3, by = 1))
posixct.seq <- posixct.in %m+% days(x = seq.int(from = 0, to = 3, by = 1))
posixct.seq <- posixct.in %m+% weeks(x = seq.int(from = 0, to = 3, by = 1))
Ein regulärer +funktioniert manchmal auch, aber das %m+%verhindert Fehler wie diesen:
posixct.seq <- posixct.in + years(x = seq.int(from = 0, to = 3, by = 1))
Zuerst war ich verwirrt, weil ich dachte, es %m+sei nur eine Möglichkeit, Monate hinzuzufügen, und ähnliche lubridateBefehle wie %y+%usw. existieren nicht. Es stellt sich jedoch heraus, dass "m" nicht für "Monatsaddition" steht. Meine beste Vermutung ist "Magie" =)