R'de “not in” operatörü nasıl kullanılır (örneklerle)
R’deki değerler listesinde olmayan tüm öğeleri seçmek için aşağıdaki temel sözdizimini kullanabilirsiniz:
! (data %in% c(value1, value2, value3, ...))
Aşağıdaki örnekler bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir.
Örnek 1: “NOT IN” vektörlerle nasıl kullanılır?
Aşağıdaki kod, R’deki bir vektörün belirli bir değerler listesinde olmayan tüm değerlerinin nasıl seçileceğini gösterir:
#define numeric vector num_data <- c(1, 2, 3, 3, 4, 4, 5, 5, 6) #display all values in vector not equal to 3 or 4 num_data[ ! (num_data %in% c(3, 4))] [1] 1 2 5 5 6
Çıkışta 3 veya 4’e eşit olmayan tüm değerler görüntülenir.
Belirli bir karakter listesinde olmayan bir vektörün tüm öğelerini seçmek için aynı sözdizimini kullanabileceğimizi unutmayın:
#define vector of character data char_data <- c('A', 'A', 'A', 'B', 'B', 'C', 'C', 'D', 'D', 'D') #display all elements in vector not equal to 'A', or 'C' char_data[ ! (char_data %in% c('A', 'C'))] [1] “B” “B” “D” “D” “D”
Çıkışta “A” veya “C”ye eşit olmayan değerler görüntülenir.
Örnek 2: “NOT IN” veri çerçeveleriyle nasıl kullanılır?
Aşağıdaki kod, R’de belirli bir sütunun belirli değerlere eşit olmadığı bir veri çerçevesinin tüm satırlarının nasıl seçileceğini gösterir:
#create data frame df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'D'), points=c(77, 81, 89, 83, 99, 92, 97), assists=c(19, 22, 29, 15, 32, 39, 14)) #view data frame df team points assists 1 A 77 19 2 A 81 22 3 B 89 29 4 B 83 15 5 C 99 32 6 C 92 39 7 D 97 14 #select all rows where team is not equal to 'A' or 'B' subset(df, ! (team %in% c('A', 'B'))) team points assists 5 C 99 32 6 C 92 39 7 D 97 14
Takım sütununda “A” veya “B” harfi bulunmayan satırların döndürüldüğünü unutmayın.
Belirli bir sütunun belirli sayısal değerlere eşit olmadığı tüm satırları seçmek için de benzer sözdizimini kullanabiliriz:
#create data frame df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'D'), points=c(77, 81, 89, 83, 99, 92, 97), assists=c(19, 22, 29, 15, 32, 39, 14)) #view data frame df team points assists 1 A 77 19 2 A 81 22 3 B 89 29 4 B 83 15 5 C 99 32 6 C 92 39 7 D 97 14 #select all rows where team is not equal to 'A' or 'B' subset(df, ! (points %in% c(89, 99))) team points assists 1 A 77 19 2 A 81 22 4 B 83 15 6 C 92 39 7 D 97 14
Puan sütununda 89 veya 99’a eşit olmayan tüm satırların döndürüldüğünü unutmayın.
Ek kaynaklar
R’de %in% operatörü nasıl kullanılır?
R’de bir veri çerçevesi nasıl alt kümelenir
R’de listeler nasıl alt kümelenir