R'de setdiff fonksiyonu nasıl kullanılır (örneklerle)


R’deki setdiff() işlevi iki küme arasındaki farkları bulmak için kullanılabilir. Bu işlev aşağıdaki sözdizimini kullanır:

setdiff(x,y)

Altın:

  • x, y: bir dizi öğe içeren vektörler veya veri çerçeveleri

Bu eğitimde bu işlevin pratik kullanımına ilişkin çeşitli örnekler verilmektedir.

Örnek 1: Sayısal vektörlerle Setdiff

Aşağıdaki kod, a vektöründe olup b vektöründe görünmeyen tüm değerleri tanımlamak için setdiff() işlevinin nasıl kullanılacağını gösterir:

 #definevectors
a <- c(1, 3, 4, 5, 9, 10)
b <- c(1, 2, 3, 4, 5, 6)

#find all values in a that do not occur in b
setdiff (a,b)

[1] 9 10

A vektöründe görünen ve b vektöründe görünmeyen iki değer vardır: 9 ve 10 .

setdiff() fonksiyonundaki vektörlerin sırasını tersine çevirirsek, bunun yerine a vektöründe görünmeyen b vektöründeki tüm değerleri tanımlayabiliriz:

 #find all values in b that do not occur in a
setdiff (b,a)

[1] 2 6

b vektöründe görünen ama a vektöründe görünmeyen iki değer vardır: 2 ve 6 .

Örnek 2: Karakter vektörleriyle Setdiff

Aşağıdaki kod, char2 vektöründe görünmeyen char1 vektöründeki tüm değerleri tanımlamak için setdiff() işlevinin nasıl kullanılacağını gösterir:

 #define character vectors
char1 <- c('A', 'B', 'C', 'D', 'E')
char2 <- c('A', 'B', 'E', 'F', 'G')

#find all values in char1 that do not occur in char2
setdiff (char1, char2)

[1] “C” “D”

Örnek 3: Veri çerçeveleriyle Setdiff

Aşağıdaki kod, bir veri çerçevesi sütunundaki, ikinci bir veri çerçevesinin aynı sütununda görünmeyen tüm değerleri tanımlamak için setdiff() işlevinin nasıl kullanılacağını gösterir:

 #define data frames
df1 <- data. frame (team=c('A', 'B', 'C', 'D'),
                 conference=c('West', 'West', 'East', 'East'),
                 dots=c(88, 97, 94, 104))

df2 <- data. frame (team=c('A', 'B', 'C', 'D'),
                 conference=c('West', 'West', 'East', 'East'),
                 dots=c(88, 97, 98, 99))

#find differences between the points columns in the two data frames
setdiff (df1$points, df2$points)

[1] 94 104

94 ve 104 değerlerinin birinci veri çerçevesinin nokta sütununda göründüğünü ancak ikinci veri çerçevesinin nokta sütununda görünmediğini görebiliriz.

Ek kaynaklar

R’de belirli sütunlar nasıl toplanır
R’de belirli satırlar nasıl toplanır
R’de kısmi dize eşleştirmesi nasıl gerçekleştirilir?

Yorum ekle

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