Hoe twee vectoren in r te vergelijken (met voorbeelden)


U kunt de volgende basissyntaxis gebruiken om twee vectoren in R te vergelijken:

 #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)

De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld 1: Controleer of twee vectoren hetzelfde zijn

De volgende code laat zien hoe u de functie identiek() kunt gebruiken om te controleren of twee vectoren identiek zijn:

 #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

De twee vectoren zijn niet identiek, dus er wordt een FALSE- waarde geretourneerd.

Voorbeeld 2: Zoek elementen die in beide vectoren voorkomen

De volgende code laat zien hoe u de functie intersect() gebruikt om elementen weer te geven die in beide vectoren voorkomen:

 #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”

De drie elementen die in beide vectoren voorkomen, worden weergegeven.

We kunnen ook de functie length() gebruiken als we eenvoudigweg willen weten hoeveel elementen er in de twee vectoren voorkomen:

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

[1] 3

Er zijn drie elementen in beide vectoren.

Voorbeeld 3: Zoek elementen die alleen in één enkele vector voorkomen

De volgende code laat zien hoe u de functie setdiff() gebruikt om elementen weer te geven die in de eerste vector voorkomen, maar niet in de tweede:

 #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”

Er is precies één element in de eerste vector dat niet bestaat in de tweede vector.

We kunnen de twee vectoren omkeren om elementen te identificeren die in de tweede vector voorkomen, maar niet in de eerste:

 #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”

Er bestaan twee elementen in de tweede vector die niet bestaan in de eerste.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Hoe twee kolommen in R te vergelijken
Hoe tekenreeksen in R te vergelijken
Hoe waarden aan een vector toe te voegen met behulp van een lus in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert