Як порівняти два вектори в r (з прикладами)


Ви можете використовувати наступний базовий синтаксис для порівняння двох векторів у R:

 #check if two vectors are identical
identical(vector_1, vector_2)

#display items that are in both vectors
intersect(vector_1, vector_2)

#display items that are only in first vector, but not in second vector
setdiff(vector_1, vector_2)

Наступні приклади показують, як використовувати цей синтаксис на практиці.

Приклад 1: Перевірте, чи два вектори однакові

Наступний код показує, як використовувати функцію identical() , щоб перевірити, чи ідентичні два вектори:

 #definevectors
vector_1 <- c('Andy', 'Bob', 'Carl', 'Doug')
vector_2 <- c('Bob', 'Carl', 'Doug', 'Ethan', 'Fred')

#check if two vectors are identical
identical(vector_1, vector_2)

[1] FALSE

Два вектори не ідентичні, тому повертається значення FALSE .

Приклад 2: знайти елементи, які існують в обох векторах

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

 #definevectors
vector_1 <- c('Andy', 'Bob', 'Carl', 'Doug')
vector_2 <- c('Bob', 'Carl', 'Doug', 'Ethan', 'Fred')

#display items that exist in both vectors
intersect(vector_1, vector_2)

[1] “Bob” “Carl” “Doug”

Показано три елементи, які існують в обох векторах.

Ми також можемо використовувати функцію length() , якщо просто хочемо знати, скільки елементів існує у двох векторах:

 #find how many items exist in both vectors
length(intersect(vector_1, vector_2))

[1] 3

Три елементи існують в обох векторах.

Приклад 3: знайти елементи, які існують лише в одному векторі

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

 #definevectors
vector_1 <- c('Andy', 'Bob', 'Carl', 'Doug')
vector_2 <- c('Bob', 'Carl', 'Doug', 'Ethan', 'Fred')

#display items that exist in first vector, but not in second vector
setdiff(vector_1, vector_2)

[1] “Andy”

У першому векторі є рівно один елемент, який не існує в другому векторі.

Ми можемо інвертувати два вектори, щоб визначити елементи, які існують у другому векторі, але не в першому:

 #definevectors
vector_1 <- c('Andy', 'Bob', 'Carl', 'Doug')
vector_2 <- c('Bob', 'Carl', 'Doug', 'Ethan', 'Fred')

#display items that exist in second vector, but not in first vector
setdiff(vector_2, vector_1)

[1] “Ethan” “Fred”

У другому векторі існують два елементи, яких немає в першому.

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

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

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

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

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