Dplyr kullanarak na satırlarını kaybetmeden bir veri çerçevesi nasıl filtrelenir


R’deki dplyr ve Tidyr paketlerindeki işlevleri kullanarak NA değerleri içeren satırları kaybetmeden bir veri çerçevesini filtrelemek için aşağıdaki temel sözdizimini kullanabilirsiniz:

 library (dplyr)
library (tidyr)

#filter for rows where team is not equal to 'A' (and keep rows with NA)
df <- df %>% filter((team != ' A ') %>% replace_na( TRUE ))

Bu formülün, filtreleme sırasında veri çerçevesinden kaldırılmamaları amacıyla NA değerlerini TRUE’ya dönüştürmek için Tidyr paketindeki replacement_na() işlevini kullandığını unutmayın.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: dplyr kullanarak NA satırlarını kaybetmeden veri çerçevesini filtreleme

R’de çeşitli basketbol oyuncuları hakkında bilgi içeren aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:

 #create data frame
df <- data. frame (team=c('A', NA, 'A', 'B', NA, 'C', 'C', 'C'),
                 points=c(18, 13, 19, 14, 24, 21, 20, 28),
                 assists=c(5, 7, 17, 9, 12, 9, 5, 12))

#view data frame
df

  team points assists
1 to 18 5
2 <NA> 13 7
3 A 19 17
4 B 14 9
5 <NA> 24 12
6 C 21 9
7 C 20 5
8 C 28 12

Şimdi veri çerçevesini yalnızca takım sütunundaki değeri A’ya eşit olmayan satırları içerecek şekilde filtrelemek için dplyr paketindeki filter() işlevini kullandığımızı varsayalım:

 library (dplyr)

#filter for rows where team is not equal to 'A'
df <- df %>% filter(team != ' A ')

#view updated data frame
df

  team points assists
1 B 14 9
2 C 21 9
3 C 20 5
4 C 28 12

Takım sütunundaki değerin NA’ya eşit olduğu satırlar da dahil olmak üzere, takım sütunundaki değerin A’ya eşit olduğu her satırın filtrelendiğini unutmayın.

Takımın A’ya eşit olduğu satırları filtrelemek ve NA değerlerine sahip satırları tutmak istiyorsak aşağıdaki sözdizimini kullanabiliriz:

 library (dplyr)
library (tidyr)

#filter for rows where team is not equal to 'A' (and keep rows with NA)
df <- df %>% filter((team != ' A ') %>% replace_na( TRUE ))

#view updated data frame
df

  team points assists
1 <NA> 13 7
2 B 14 9
3 <NA> 24 12
4 C 21 9
5 C 20 5
6 C 28 12

Takım sütunundaki değerin A’ya eşit olduğu her satırın filtrelendiğini ancak takım sütunundaki değerin NA’ya eşit olduğu satırları tuttuğumuzu unutmayın.

Not : Tidyr replacement_na() işlevine ilişkin tüm belgeleri burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde dplyr’de diğer yaygın işlevlerin nasıl gerçekleştirileceği açıklanmaktadır:

Dplyr kullanarak satır numarasına göre filtreleme nasıl yapılır
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