Як використовувати функцію setdiff у r (з прикладами)


Функцію setdiff() у R можна використовувати для пошуку відмінностей між двома наборами. Ця функція використовує такий синтаксис:

setdiff(x,y)

золото:

  • x, y: вектори або кадри даних, що містять послідовність елементів

Цей підручник містить кілька прикладів практичного використання цієї функції.

Приклад 1: Setdiff із числовими векторами

Наступний код показує, як використовувати setdiff() для ідентифікації всіх значень у векторі a , які не з’являються у векторі b :

 #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 є два значення, яких немає у векторі b : 9 і 10 .

Якщо ми змінимо порядок векторів у функції setdiff() , замість цього ми зможемо ідентифікувати всі значення у векторі b , які не з’являються у векторі a :

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

[1] 2 6

У векторі b є два значення, яких немає у векторі a : 2 і 6 .

Приклад 2: Setdiff із символьними векторами

Наступний код показує, як використовувати setdiff() для ідентифікації всіх значень у векторі char1 , яких немає у векторі char2 :

 #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”

Приклад 3: Setdiff з кадрами даних

Наступний код показує, як використовувати setdiff() для визначення всіх значень у стовпці кадру даних, які не відображаються в тому самому стовпці другого кадру даних:

 #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 і 104 з’являються в стовпці точок першого кадру даних, але не в стовпці точок другого кадру даних.

Додаткові ресурси

Як підсумувати певні стовпці в R
Як підсумувати певні рядки в R
Як виконати часткове зіставлення рядків у R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *