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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *