Як порівняти два вектори в 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