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?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir