So filtern sie mit dplyr nach datum


Sie können die folgenden Methoden verwenden, um einen Datenrahmen nach Datum in R mithilfe des dplyr- Pakets zu filtern:

Methode 1: Zeilen nach Datum filtern

 df %>% filter(date_column > ' 2022-01-01 ')

Methode 2: Zeilen nach Datum filtern

 df %>% filter(date_column < ' 2022-01-01 ') 

Methode 3: Zeilen zwischen zwei Datumsangaben filtern

 df %>% filter(between(date_column, as. Date (' 2022-01-20 '), as. Date (' 2022-02-20 ')))

Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Datenrahmen in R verwendet wird:

 #create data frame
df <- data. frame (day=seq( as.Date (' 2022-01-01 '), by = ' week ', length.out = 10 ),
                 sales=c(40, 35, 39, 44, 48, 51, 23, 29, 60, 65))

#view data frame
df

          day sales
1 2022-01-01 40
2 2022-01-08 35
3 2022-01-15 39
4 2022-01-22 44
5 2022-01-29 48
6 2022-02-05 51
7 2022-02-12 23
8 2022-02-19 29
9 2022-02-26 60
10 2022-03-05 65

Beispiel 1: Zeilen nach Datum filtern

Mit dem folgenden Code können wir Zeilen aus dem Datenrahmen filtern, deren Datum nach dem 25.01.2022 liegt:

 library (dplyr)

#filter for rows with date after 1/25/2022
df %>% filter(day > ' 2022-01-25 ')

         day sales
1 2022-01-29 48
2 2022-02-05 51
3 2022-02-12 23
4 2022-02-19 29
5 2022-02-26 60
6 2022-03-05 65

Jede der Zeilen im resultierenden Datenrahmen hat ein Datum nach dem 25.01.2022.

Beispiel 2: Zeilen nach Datum filtern

Mit dem folgenden Code können wir Zeilen aus dem Datenrahmen filtern, deren Datum vor dem 25.01.2022 liegt:

 library (dplyr)

#filter for rows with date before 1/25/2022
df %>% filter(day < ' 2022-01-25 ')

         day sales
1 2022-01-01 40
2 2022-01-08 35
3 2022-01-15 39
4 2022-01-22 44

Jede der Zeilen im resultierenden Datenrahmen hat ein Datum vor dem 25.01.2022.

Beispiel 3: Zeilen zwischen zwei Datumsangaben filtern

Mit dem folgenden Code können wir Zeilen aus dem Datenrahmen filtern, deren Datum zwischen dem 20.01.2022 und dem 20.02.2022 liegt:

 library (dplyr)

#filter for rows with dates between 1/20/2022 and 2/20/2022
df %>% filter(between(date_column, as. Date (' 2022-01-20 '), as. Date (' 2022-02-20 '))) 

         day sales
1 2022-01-22 44
2 2022-01-29 48
3 2022-02-05 51
4 2022-02-12 23
5 2022-02-19 29

Jede der Zeilen im resultierenden Datenrahmen hat ein Datum zwischen dem 20.01.2022 und dem 20.02.2022.

Hinweis Nr. 1 : Wenn eine der oben genannten Methoden nicht funktioniert, müssen Sie möglicherweise zuerst die Daten, mit denen Sie arbeiten, mithilfe der Funktion as.Date( ) in ein erkennbares Datumsformat konvertieren.

Hinweis Nr. 2 : Die vollständige Dokumentation der Filterfunktion in dplyr finden Sie hier .

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in dplyr ausführen:

So filtern Sie Zeilen, die eine bestimmte Zeichenfolge enthalten, mit dplyr
So filtern Sie mit dplyr nach mehreren Bedingungen
So verwenden Sie einen „nicht enthaltenen“ Filter in dplyr

Einen Kommentar hinzufügen

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