Como comparar dois vetores em r (com exemplos)
Você pode usar a seguinte sintaxe básica para comparar dois vetores em 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)
Os exemplos a seguir mostram como usar essa sintaxe na prática.
Exemplo 1: Verifique se dois vetores são iguais
O código a seguir mostra como usar a função idêntica() para verificar se dois vetores são idênticos:
#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
Os dois vetores não são idênticos, portanto um valor FALSE é retornado.
Exemplo 2: Encontre elementos que existem em ambos os vetores
O código a seguir mostra como usar a função intersect() para exibir elementos que existem em ambos os vetores:
#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”
Os três elementos que existem em ambos os vetores são mostrados.
Também podemos usar a função length() se quisermos simplesmente saber quantos elementos existem nos dois vetores:
#find how many items exist in both vectors
length(intersect(vector_1, vector_2))
[1] 3
Existem três elementos em ambos os vetores.
Exemplo 3: Encontre elementos que existem apenas em um único vetor
O código a seguir mostra como usar a função setdiff() para exibir elementos que existem no primeiro vetor, mas não no segundo:
#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”
Existe exatamente um elemento no primeiro vetor que não existe no segundo vetor.
Podemos inverter os dois vetores para identificar elementos que existem no segundo vetor, mas não no primeiro:
#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”
Existem dois elementos no segundo vetor que não existem no primeiro.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:
Como comparar duas colunas em R
Como comparar strings em R
Como adicionar valores a um vetor usando um loop em R