Come utilizzare la funzione match() in r (con esempi)


La funzione match() in R restituisce la posizione della prima corrispondenza tra due oggetti.

Questa funzione utilizza la seguente sintassi di base:

 match(object1, object2)

Gli esempi seguenti mostrano come utilizzare questa funzione in diversi scenari.

Esempio 1: corrispondenza di un valore in un vettore

Il codice seguente mostra come utilizzare la funzione match() per trovare la prima occorrenza di un valore specifico in un vettore:

 #define value to look for in vector
value <- 10

#define vector of values
vector1 <- c(8, 9, 1, 10, 13, 15)

#find first occurrence of 10
match(value, vector1)

[1] 4

Questo ci dice che il valore 10 appare per primo nella quarta posizione del vettore.

Tieni presente che se corrispondono più valori, verrà restituita solo la posizione della prima corrispondenza.

Ad esempio il seguente vettore ha due valori pari a 10 ma viene restituita solo la posizione dei primi 10:

 #define value to look for in vector
value <- 10

#define vector of values with multiple '10' values
vector1 <- c(8, 9, 1, 10, 10, 10)

#find first occurrence of 10
match(value, vector1)

[1] 4

Il valore 10 appare nelle posizioni 4, 5 e 6, ma viene restituita solo la posizione 4 .

Esempio 2: valori corrispondenti in due vettori

Il codice seguente mostra come utilizzare la funzione match() per trovare la prima occorrenza di valori in un vettore in un altro vettore:

 #define vectors of values
vector1 <- c(1, 2, 3, 4, 5, 6)
vector2 <- c(8, 6, 1, 10, 10, 15)

#find first occurrence of values in vector1 within vector2
match(vector1, vector2)

[1] 3 NA NA NA NA 2

Ecco come interpretare il risultato:

  • La prima occorrenza del valore 1 in vettore1 si verifica nella posizione 3 di vettore2.
  • Il valore 2 in vettore1 non appare mai in vettore2.
  • Il valore 3 nel vettore1 non appare mai nel vettore2.
  • Il valore 4 nel vettore1 non appare mai nel vettore2.
  • Il valore 5 nel vettore1 non appare mai nel vettore2.
  • La prima occorrenza del valore 6 in vettore1 si verifica nella posizione 2 di vettore2.

Tieni presente che possiamo anche specificare un valore diverso da utilizzare nei casi in cui non esiste corrispondenza.

Ad esempio, potremmo restituire un valore 0 invece di NA:

 #define vectors of values
vector1 <- c(1, 2, 3, 4, 5, 6)
vector2 <- c(8, 6, 1, 10, 10, 15)

#find first occurrence of values in vector1 within vector2
match(vector1, vector2, nomatch= 0 )

[1] 3 0 0 0 0 2

Risorse addizionali

I seguenti tutorial spiegano come utilizzare altre funzioni comuni in R:

Come utilizzare la funzione summary() in R
Come utilizzare la funzione replicate() in R
Come utilizzare la funzione gsub() in R
Come utilizzare la funzione par() in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *