Ich bin über ein seltsames Verhalten im Paket lubridate
gestolpert: dmy(NA)
führt einen Fehler durch, anstatt nur eine NA zurückzugeben. Das verursacht mir Probleme, wenn ich eine Spalte mit einigen Elementen konvertieren will, die NAs und einige Datumsstrings sind, die normalerweise ohne Probleme umgewandelt werden.
Hier ist das minimale Beispiel:
%Vor% Zusammenfassend habe ich zwei Fragen: 1) Warum funktioniert dmy (NA) nicht? Basierend auf den meisten anderen Funktionen würde ich annehmen, dass es eine gute Programmierpraxis ist, dass jede Transformation (wie dmy ()) von NA
wieder NA
zurückgibt (genauso wie 2 + NA
)? Wenn dieses Verhalten beabsichtigt ist, wie konvertiere ich eine Spalte data.frame
, die NA
s enthält, über die Funktion dmy()
?
Der Error in function (..., sep = " ", collapse = NULL) : invalid separator
wird durch die Funktion lubridate:::guess_format()
verursacht. Das NA
wird als sep
in einem Aufruf an paste()
weitergegeben, speziell an fmts <- unlist(mlply(with_seps, paste))
. Sie können versuchen, die lubridate:::guess_format()
zu verbessern, um dies zu beheben.
Sonst könnten Sie einfach NA
in Zeichen ( "NA"
) ändern?