Comment comparer deux vecteurs dans R (avec exemples)



Vous pouvez utiliser la syntaxe de base suivante pour comparer deux vecteurs dans 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)

Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.

Exemple 1 : Vérifier si deux vecteurs sont identiques

Le code suivant montre comment utiliser la fonction identique() pour vérifier si deux vecteurs sont identiques :

#define vectors
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

Les deux vecteurs ne sont pas identiques, donc une valeur FALSE est renvoyée.

Exemple 2 : Rechercher des éléments qui existent dans les deux vecteurs

Le code suivant montre comment utiliser la fonction intersect() pour afficher les éléments qui existent dans les deux vecteurs :

#define vectors
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"

Les trois éléments qui existent dans les deux vecteurs sont affichés.

Nous pouvons également utiliser la fonction length() si nous voulons simplement savoir combien d’éléments existent dans les deux vecteurs :

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

[1] 3

Trois éléments existent dans les deux vecteurs.

Exemple 3 : Rechercher des éléments qui n’existent que dans un seul vecteur

Le code suivant montre comment utiliser la fonction setdiff() pour afficher les éléments qui existent dans le premier vecteur, mais pas dans le second :

#define vectors
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"

Il existe exactement un élément dans le premier vecteur qui n’existe pas dans le deuxième vecteur.

Nous pouvons inverser les deux vecteurs pour identifier les éléments qui existent dans le deuxième vecteur, mais pas dans le premier :

#define vectors
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"

Deux éléments existent dans le deuxième vecteur qui n’existent pas dans le premier.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment comparer deux colonnes dans R
Comment comparer des chaînes dans R
Comment ajouter des valeurs à un vecteur à l’aide d’une boucle dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *