Dplyr kullanarak tarihe göre filtreleme nasıl yapılır
Dplyr paketini kullanarak bir veri çerçevesini R’deki tarihlere göre filtrelemek için aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: Tarihten sonra satırları filtrele
df %>% filter(date_column > ' 2022-01-01 ')
Yöntem 2: Tarihten önceki satırları filtreleyin
df %>% filter(date_column < ' 2022-01-01 ')
Yöntem 3: İki tarih arasındaki satırları filtreleme
df %>% filter(between(date_column, as. Date (' 2022-01-20 '), as. Date (' 2022-02-20 ')))
Aşağıdaki örnekler, R’deki aşağıdaki veri çerçevesiyle her yöntemin pratikte nasıl kullanılacağını gösterir:
#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
Örnek 1: Satırları tarihten sonra filtreleme
Veri çerçevesindeki 25.01.2022 tarihinden sonraki tarihe sahip satırları filtrelemek için aşağıdaki kodu kullanabiliriz:
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
Ortaya çıkan veri çerçevesindeki satırların her birinin tarihi 25.01.2022’den sonradır.
Örnek 2: Tarihten önceki satırları filtreleme
Tarihi 25.01.2022’den önce olan veri çerçevesindeki satırları filtrelemek için aşağıdaki kodu kullanabiliriz:
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
Ortaya çıkan veri çerçevesindeki satırların her birinin tarihi 25.01.2022’den öncedir.
Örnek 3: İki tarih arasındaki satırları filtreleme
Tarihi 20.01.2022 ile 20.02.2022 tarihleri arasındaki veri çerçevesindeki satırları filtrelemek için aşağıdaki kodu kullanabiliriz:
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
Ortaya çıkan veri çerçevesindeki satırların her birinin tarihi 01/20/2022 ile 02/20/2022 arasındadır.
Not #1 : Yukarıdaki yöntemlerden herhangi biri işe yaramazsa, öncelikle as.Date( function ) işlevini kullanarak üzerinde çalıştığınız tarihleri tanınabilir bir tarih biçimine dönüştürmeniz gerekebilir.
Not #2 : Filtre fonksiyonunun tam belgelerini dplyr’de burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde dplyr’de diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:
Belirli bir dizeyi içeren satırları dplyr kullanarak nasıl filtreleyebilirim?
Dplyr kullanarak birden çok koşula göre filtreleme nasıl yapılır
Dplyr’de “dahil değil” filtresi nasıl kullanılır?