Gibt es eine elegantere Möglichkeit, zweistellige in vierstellige Jahreszahlen mit Lubridat umzurechnen?

Wenn ein Datumsvektor zweistellige Jahre hat,mdy() macht Jahre zwischen 00 und 68 zu Jahren des 21. Jahrhunderts und Jahre zwischen 69 und 99 zu Jahren des 20. Jahrhunderts. Zum Beispiel:

library(lubridate)    
mdy(c("1/2/54","1/2/68","1/2/69","1/2/99","1/2/04"))

gibt die folgende Ausgabe aus:

Multiple format matches with 5 successes: %m/%d/%y, %m/%d/%Y.
Using date format %m/%d/%y.
[1] "2054-01-02 UTC" "2068-01-02 UTC" "1969-01-02 UTC" "1999-01-02 UTC" "2004-01-02 UTC"

Ich kann dies nachträglich beheben, indem ich 100 von den falschen Daten abziehe, um 2054 und 2068 in 1954 und 1968 zu verwandeln. Aber es gibt eine elegantere und weniger fehleranfällige Methode zum Parsen von zweistelligen Daten, damit sie in der Tabelle richtig behandelt werden Parsing-Prozess selbst?

Aktualisieren: Nachdem mich @JoshuaUlrich darauf hingewiesen hatstrptime ich fanddiese Frage, der sich mit einem ähnlichen Problem wie ich befasst, aber Basis R verwendet.

Es scheint, als wäre eine nette Ergänzung zur Datumsverarbeitung in R eine Möglichkeit, die Auswahlgrenzen des Jahrhunderts für zweistellige Datumsangaben innerhalb der Datumsanalysefunktionen zu handhaben.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage