2016-08-19 2 views
1

Ich habe einen Datenrahmen in R, die Datumsspalte als Zeichen hat. Wenn ich versuche, es mit dem folgenden Code in ein Datum zu konvertieren, gibt es einen Fehler.Konvertieren von Zeichen zu Datum in R

No  First Landing Page Submission Date 
    1 
    2 
    3   31-07-2016 16:57 
    4   31-07-2016 16:38 
    5    1/8/2016 4:58 
    6 
    7   31-07-2016 15:40 
    8 
    9   31-07-2016 14:49 
    10 
    11   31-07-2016 14:41 
    12   31-07-2016 13:51 

Daten sind genau in dem oben genannten Format in CSV-Datei.

df$First.Landing.Page.Submission.Date <- as.Date(df$First.Landing.Page.Submission.Date) 

Es gibt mir folgenden Fehler.

Wenn ich Parsing-Funktion von Lubridate-Paket verwenden, gibt es mir eine Übersetzung dieses Formulars.

df$First.Landing.Page.Submission.Date <- parse_date_time(df$First.Landing.Page.Submission.Date, orders="dmy hms") 

    No  First.Landing.Page.Submission.Date 
    1    <NA> 
    2    <NA> 
    3   2020-07-31 16:16:57 
    4   2020-07-31 16:16:38 
    5   2020-08-01 16:04:58 
    6    <NA> 

Wenn Sie 3. Reihe ursprüngliche Datum zu buchen, ist 31-07-2016 16.57 und wenn ich es wurde 2020.07.31 16.16.57 analysiert. Können Sie mir bitte den richtigen Weg sagen?

+0

Können Sie einen kurzen Spaltennamen erstellen? In Bezug auf 'as.Date' sollten Sie auch' format' angeben, dh '% d-% m-% Y% H:% M' zB' as.Date (df $ First.Landing.Page.Submission.Date, format = "% d-% m-% Y% H:% M" ' – akrun

+0

@akrun Auch wenn ich Format angeben konvertiert es das Datum als 2020-07-31 16:16:57 – Neil

Antwort

3

Sie können lubridate die dmy_hms Funktion mit der Option truncated=1

lubridate::dmy_hms(df1$FirstLanding, truncated = 1) 

Diese Option ist hilfreich, wenn die Daten nicht vollständig nutzen. In diesem speziellen Fall fehlen die Sekunden, die für ein DMY-HMS-Format benötigt würden.

+1

Ausgezeichnet .. Es hat funktioniert. Vielen Dank für Ihre Antwort. – Neil

Verwandte Themen