Come confrontare due vettori in r (con esempi)
È possibile utilizzare la seguente sintassi di base per confrontare due vettori in 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)
Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.
Esempio 1: controlla se due vettori sono uguali
Il codice seguente mostra come utilizzare la funzione identico() per verificare se due vettori sono identici:
#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
I due vettori non sono identici, quindi viene restituito un valore FALSO .
Esempio 2: trova gli elementi che esistono in entrambi i vettori
Il codice seguente mostra come utilizzare la funzione intersect() per visualizzare gli elementi presenti in entrambi i vettori:
#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”
Vengono mostrati i tre elementi che esistono in entrambi i vettori.
Possiamo anche usare la funzione length() se vogliamo semplicemente sapere quanti elementi esistono nei due vettori:
#find how many items exist in both vectors
length(intersect(vector_1, vector_2))
[1] 3
Esistono tre elementi in entrambi i vettori.
Esempio 3: trova elementi che esistono solo in un singolo vettore
Il codice seguente mostra come utilizzare la funzione setdiff() per visualizzare gli elementi che esistono nel primo vettore, ma non nel secondo:
#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”
C’è esattamente un elemento nel primo vettore che non esiste nel secondo vettore.
Possiamo invertire i due vettori per identificare gli elementi che esistono nel secondo vettore, ma non nel primo:
#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”
Nel secondo vettore esistono due elementi che non esistono nel primo.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in R:
Come confrontare due colonne in R
Come confrontare le stringhe in R
Come aggiungere valori a un vettore utilizzando un loop in R