Cara memfilter berdasarkan tanggal menggunakan dplyr
Anda dapat menggunakan metode berikut untuk memfilter bingkai data berdasarkan tanggal di R menggunakan paket dplyr :
Metode 1: Filter baris berdasarkan tanggal
df %>% filter(date_column > ' 2022-01-01 ')
Metode 2: Filter baris sebelum tanggal
df %>% filter(date_column < ' 2022-01-01 ')
Metode 3: Filter baris antara dua tanggal
df %>% filter(between(date_column, as. Date (' 2022-01-20 '), as. Date (' 2022-02-20 ')))
Contoh berikut menunjukkan cara menggunakan setiap metode dalam praktik dengan kerangka data berikut di R:
#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
Contoh 1: Filter baris berdasarkan tanggal
Kita dapat menggunakan kode berikut untuk memfilter baris dari bingkai data yang memiliki tanggal setelah 25/01/2022:
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
Setiap baris dalam bingkai data yang dihasilkan memiliki tanggal setelah 25/01/2022.
Contoh 2: Filter baris sebelum tanggal
Kita dapat menggunakan kode berikut untuk memfilter baris dari bingkai data yang tanggalnya sebelum 25/01/2022:
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
Setiap baris dalam bingkai data yang dihasilkan memiliki tanggal sebelum 25/01/2022.
Contoh 3: Filter baris antara dua tanggal
Kita dapat menggunakan kode berikut untuk memfilter baris dari bingkai data yang tanggalnya antara 20/01/2022 dan 20/02/2022:
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
Setiap baris dalam bingkai data yang dihasilkan memiliki tanggal antara 20/01/2022 dan 20/02/2022.
Catatan #1 : Jika salah satu metode di atas tidak berhasil, Anda mungkin perlu mengonversi tanggal yang sedang Anda kerjakan terlebih dahulu ke dalam format tanggal yang dapat dikenali menggunakan as.Date( function ) .
Catatan #2 : Anda dapat menemukan dokumentasi lengkap fungsi filter di dplyr di sini .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di dplyr:
Cara memfilter baris yang berisi string tertentu menggunakan dplyr
Cara memfilter berdasarkan beberapa kondisi menggunakan dplyr
Cara menggunakan filter “tidak termasuk” di dplyr