Ich kann Dateien empfangen, deren Datum in einem der zwei Formate sein kann: "MM/TT/JJJJ" oder " JJJJ-MM-TT ". Sie sind Faktoren für den Anfang. Ungeachtet des Datumsformats, in dem ich es erhalte, möchte ich in der Lage sein, sie in den Datentyp "Datum" des Formats "JJJJ-MM-TT" zu konvertieren. Ich habe versucht,So konvertieren Sie das Datum in das Format "JJJJ-MM-TT" in R, wenn der Eingabewert verschiedene Formate annehmen kann
df_1$Date <- as.Date(as.character(df_1$Date), format = "%Y-%m-%d")
Verwendung Das funktioniert mit dem Format "yyyy-mm-dd", sondern gebe NA, wenn die Eingangswerte von Format "mm/tt /". In ähnlicher Weise funktionieren andere Methoden, die ich ausprobiert habe, nur für eines dieser beiden Formate. Ich brauche es für beide zu arbeiten.
Unten habe ich Code zum Erstellen der Datasets und Replizieren des Problems veröffentlicht.
df_1 <- structure(list(Text.Identifier = c(4L, 5L, 7L, 1838L), Date = structure(c(2L,
2L, 1L, 3L), .Label = c("5/18/2016", "7/12/2015", "8/29/2016"
), class = "factor")), .Names = c("Text.Identifier", "Date"), class = "data.frame", row.names = c(NA,
-4L))
df_2 <- structure(list(Text.Identifier = 1:4, Date = structure(c(5L,
5L, 5L, 1L), .Label = c("2015-07-12", "2016-05-01", "2016-05-05",
"2016-05-09", "2016-05-12", "2016-05-18", "2016-08-01", "2016-08-19",
"2016-08-29", "2016-09-20"), class = "factor")), .Names = c("Text.Identifier",
"Date"), row.names = c(NA, 4L), class = "data.frame")
df_1$Date <- as.Date(df_1$Date, format = "%Y-%m-%d")
df_2$Date <- as.Date(df_2$Date, format = "%Y-%m-%d")
View(df_1)
View(df_2)
Überprüfen Sie die 'parse_date_time' im' lubridate' Paket. Es lohnt sich auch, das Denken von Excel zu reorientieren, wo die exakte Reihenfolge in eine R-Form des Denkens kam, wo es wichtiger ist, mit welcher Klasse Sie es zu tun haben. – boshek
Potentielles Duplikat von vor 7 Stunden http://stackoverflow.com/a/40940164/5472462, das diese Frage sehr gut beantwortet. – vincentmajor
Mögliches Duplikat von [Funktion, um das korrekte as.Date-Format in R automatisch anzuwenden] (http://stackoverflow.com/questions/40940016/function-to-automatisch-apply-correct-as-date-format-in-r) – vincentmajor