So sortieren Sie ein Dataframe nach Datum in R (mit Beispielen)

Von Fabian
Kategorie: R
Tags: Operationen
Lesezeit: 3 Minuten

Es gibt zwei einfache Möglichkeiten, ein Dataframe in R nach Datum zu sortieren:

Methode 1: order() Function aus Basis R verwenden

#sortieren von am wenigsten aktuell bis am aktuellsten
df[order(as.Date(df$date, format="%m/%d/%Y")),]

#sortieren von aktuell bis am wenigsten aktuell
df[rev(order(as.Date(df$date, format="%m/%d/%Y"))),]

Methode 2: Verwenden Sie Funktionen aus den Paketen lubridate und dplyr

library(lubridate)
library(dplyr)

#sortieren von am wenigsten aktuell bis aktuell 
df %>% arrange(mdy(df$date))

#sortieren von aktuell bis am wenigsten aktuell
df %>% arrange(desc(mdy(df$date)))

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

Methode 1: Verwenden Sie order() von Basis R

Die einfachste Möglichkeit, ein Dataframe nach einer Datumsvariablen in R zu sortieren, besteht darin, die Funktion order() von Basis R aus zu verwenden. Der folgende Code zeigt, wie diese Funktion in der Praxis verwendet wird:

#Dataframe erstellen und anzeigen
df <- data.frame(date=c('10/30/2021', '11/18/2021', '11/13/2021', '11/19/2021'),
                 sales=c(3, 15, 14, 9))
df

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

#sortieren von am wenigsten aktuell bis aktuell
df[order(as.Date(df$date, format="%m/%d/%Y")),]

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

#sortieren von aktuell bis am wenigsten aktuell
df[rev(order(as.Date(df$date, format="%m/%d/%Y"))),]

        date sales
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, ein Dataframe nach einer Datumsvariablen zu sortieren, besteht darin, Funktionen aus den Paketen lubridate und dplyr zu verwenden. Der folgende Code zeigt, wie diese Funktionen in der Praxis verwendet werden:

#Dataframe erstellen und anzeigen
df <- data.frame(date=c('10/30/2021', '11/18/2021', '11/13/2021', '11/19/2021'),
                 sales=c(3, 15, 14, 9))
df

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

#sortieren von am wenigsten aktuell bis aktuell
df %>% arrange(mdy(df$date))

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

#sortieren von aktuell bis am wenigsten aktuell
df %>% arrange(desc(mdy(df$date)))

        date sales
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 als mdy()-Format anzugeben. Sie können sich jedoch auf dieses Cheat Sheet beziehen, um andere Datumsformate anzuzeigen, wenn Ihr Datum zufällig in einem anderen Format vorliegt.

Zusätzliche Ressourcen

So extrahieren Sie das Jahr vom Datum in R
So aggregieren Sie tägliche Daten zu monatlichen und jährlichen Daten in R
So ordnen Sie Zeilen in R

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: