C: listedeki değere sahip satırları filtrelemek için %in% nasıl kullanılır?


Listedeki bir değeri içeren satırları filtrelemek için R’deki %in% operatörüyle aşağıdaki temel sözdizimini kullanabilirsiniz:

 library (dplyr)

#specify team names to keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is in list of team names to keep
df_new <- df %>% filter(team %in% team_names)

Bu özel sözdizimi, yalnızca takım sütununun değerinin belirttiğimiz takım_isimleri vektörünün üç değerinden birine eşit olduğu satırları tutacak şekilde bir veri çerçevesini filtreler.

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

Örnek: Listedeki değere sahip satırları filtrelemek için %in% kullanımı

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

 #create data frame
df <- data. frame (team=c('Mavs', 'Pacers', 'Mavs', 'Celtics', 'Nets', 'Pacers'),
                 points=c(104, 110, 134, 125, 114, 124),
                 assists=c(22, 30, 35, 35, 20, 27))

#view data frame
df

     team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Celtics 125 35
5 Nets 114 20
6 Pacers 124 27

Diyelim ki veri çerçevesini yalnızca takım sütunundaki değeri aşağıdaki takım adlarından birine eşit olan satırları içerecek şekilde filtrelemek istiyoruz:

  • Mav’ler
  • Pacer’lar
  • Ağlar

Bunu yapmak için %in% operatörüyle aşağıdaki sözdizimini kullanabiliriz:

 library (dplyr)

#specify team names to keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is in list of team names to keep
df_new <- df %>% filter(team %in% team_names)

#view updated data frame
df_new

    team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Nets 114 20
5 Pacers 124 27

Takım sütununda yalnızca Mavs, Pacers veya Nets değerine sahip satırların tutulduğunu unutmayın.

Takım adının takım adları listesinde yer almadığı satırları filtrelemek istiyorsanız, sütun adının önüne bir ünlem işareti ( ! ) eklemeniz yeterlidir:

 library (dplyr)

#specify team names to not keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is not in list of team names to keep
df_new <- df %>% filter( ! team %in% team_names)

#view updated data frame
df_new

     team points assists
1 Celtics 125 35

Takım sütununda yalnızca değeri Mavs, Pacers veya Nets’e eşit olmayan satırların tutulduğunu unutmayın.

Not : 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:

Dplyr kullanarak gruba göre ilk satır nasıl seçilir
Dplyr kullanarak birden çok koşula göre filtreleme nasıl yapılır
Belirli bir dizeyi içeren satırları dplyr kullanarak nasıl filtreleyebilirim?

Yorum ekle

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