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?