So sortieren sie einen datenrahmen nach datum in r (mit beispielen)


Es gibt zwei einfache Möglichkeiten, einen Datenrahmen in R nach Datum zu sortieren:

Methode 1: Benutzerbefehl () von der R-Basis

 #sort from least recent to most recent
df[ order ( as.Date (df$date, format=" %m/%d/%Y ")),]

#sort from most recent to least recent
df[ rev ( order ( as.Date (df$date, format=" %m/%d/%Y "))),]

Methode 2: Verwenden Sie die Funktionen der Pakete lubridate und dplyr

 library (lubridate)
library (dplyr)

#sort from least recent to most recent 
df %>% arrange ( mdy (df$date))

#sort from most recent to least recent
df %>% arrange ( desc ( mdy (df$date)))

Dieses Tutorial zeigt ein Beispiel für die praktische Anwendung jeder dieser Methoden.

Methode 1: Verwenden Sie order() von der R-Basis

Der einfachste Weg, einen Datenrahmen nach einer Datumsvariablen in R zu sortieren, ist die Verwendung der R-Basisfunktion order() . Der folgende Code zeigt, wie man diese Funktion in der Praxis nutzt:

 #create and view data frame
df <- data.frame(date=c('10/30/2021', '11/18/2021', '11/13/2021', '11/19/2021'),
                 sales=c(3, 15, 14, 9))
df

        dirty dates
1 10/30/2021 3
2 11/18/2021 15
3 11/13/2021 14
4 11/19/2021 9

#sort from least recent to most recent
df[ order ( as.Date (df$date, format=" %m/%d/%Y ")),]

        dirty dates
1 10/30/2021 3
3 11/13/2021 14
2 11/18/2021 15
4 11/19/2021 9
#sort from most recent to least recent
df[ rev ( order ( as.Date (df$date, format=" %m/%d/%Y "))),]

        dirty date
4 11/19/2021 9
2 11/18/2021 15
3 11/13/2021 14
1 10/30/2021 3

Methode 2: Verwenden Sie Lubridate und Dplyr

Eine schnellere Möglichkeit, einen Datenrahmen nach Datumsvariable zu sortieren, ist die Verwendung der Funktionen in den Paketen lubridate und dplyr. Der folgende Code zeigt, wie man diese Funktionen in der Praxis nutzt:

 #create and view data frame
df <- data.frame(date=c('10/30/2021', '11/18/2021', '11/13/2021', '11/19/2021'),
                 sales=c(3, 15, 14, 9))
df

        dirty date
1 10/30/2021 3
2 11/18/2021 15
3 11/13/2021 14
4 11/19/2021 9

#sort from least recent to most recent
df %>% arrange ( mdy (df$date))

        dirty date
1 10/30/2021 3
2 11/13/2021 14
3 11/18/2021 15
4 11/19/2021 9

#sort from most recent to least recent
df %>% arrange ( desc ( mdy (df$date)))

        dirty date
1 11/19/2021 9
2 11/18/2021 15
3 11/13/2021 14
4 10/30/2021 3

Beachten Sie, dass wir lubridate verwendet haben, um das Datum im mdy()- Format anzugeben. Sie können jedoch auf diesen Spickzettel zurückgreifen, um andere Datumsformate anzuzeigen, wenn Ihr Datum in einem anderen Format vorliegt.

Zusätzliche Ressourcen

So extrahieren Sie das Jahr aus dem Datum in R
So aggregieren Sie Tagesdaten in Monats- und Jahresdaten in R
So ordnen Sie Zeilen in R an

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert