Come trovare l'indice in r

Come trovare l'indice in r
In questo tutorial, vedremo come restituire l'indice di un particolare elemento in vettore, elenco e in dati di dati.

Esistono due funzioni utili per trovare un indice di particolarità in base alla condizione o all'espressione.

Ne discuteremo uno per uno in ogni struttura dei dati.

Quale funzione ()

La funzione di quale () viene utilizzata per restituire l'indice di un elemento in base alla condizione o all'espressione specificata al suo interno.

Sintassi

Quale (condizione/espressione)

Prende la condizione o l'espressione come parametro.

È anche possibile specificare le molteplici condizioni al suo interno.

Esempio 1

In questo esempio, creiamo un vettore con 10 elementi numerici e:

  1. Restituire l'indice di 45 applicando la condizione - vector_object == 45.
  2. Restituire gli indici di elementi che sono superiori a 90 applicando la condizione - vector_object> 90.
  3. Restituire gli indici di elementi che sono superiori a 90 e pari a 95 applicando la condizione - vector_object> 90 e vector_object == 95.
#Crea vettoriale per frutti
Frutti = C (23,45,67,8,90,123,45,95,789,54)
Stampa (frutta)
#return indice per valore è 45
Stampa (che (frutti == 45))
#Restituzione degli indici per valori superiori a 90
Stampa (che (frutti> 90))
#RETURN indici per valori superiori a 90 e pari a 95
Stampa (che (frutti> 90 e frutti == 95))

Risultato

Per la prima condizione, alle 2a e 7 ° posizioni, 45 si verificano.

Per la seconda condizione, alla 6a, 8a e 9a posizioni, i valori sono superiori a 90. Per la terza condizione, all'ottava posizione, il valore è maggiore di 90 ed è pari a 95.

Esempio 2
In questo esempio, creiamo un elenco con 10 elementi numerici e:

  1. Restituire l'indice di 45 applicando la condizione - list_object == 45
  2. Restituire gli indici di elementi che sono superiori a 90 applicando la condizione - list_object> 90.
  3. Restituisce gli indici di elementi che sono superiori a 90 e pari a 95 applicando le condizioni - List_Object> 90 e List_Object == 95.
#crea elenco per frutti
Frutti = elenco (23,45,67,8,90,123,45,95,789,54)
#return indice per valore è 45
Stampa (che (frutti == 45))
#Restituzione degli indici per valori superiori a 90
Stampa (che (frutti> 90))
#RETURN indici per valori superiori a 90 e pari a 95
Stampa (che (frutti> 90 e frutti == 95))

Risultato

Per la prima condizione, alle 2a e 7 ° posizioni, 45 si verificano.

Per la seconda condizione, alla 6a, 8a e 9a posizioni, i valori sono superiori a 90. Per la terza condizione, all'ottava posizione, il valore è maggiore di 90 e pari a 95.

Esempio 3
In questo esempio, creiamo un frame dati con 10 elementi numerici in entrambe le colonne e:

  1. Restituire l'indice di 45 applicando la condizione - market_id (colonna) == 45.
  2. Restituire gli indici di elementi che sono superiori a 90 applicando la condizione - market_id (colonna)> 90.
  3. Restituisce gli indici di elementi superiori a 90 e pari a 95 applicando le condizioni - Market_id (colonna)> 90 e market_id (colonna) == 95.
  4. Restituire l'indice di 45 applicando la condizione - market_area (colonna) == 45.
  5. Restituire gli indici di elementi che sono superiori a 90 applicando la condizione - market_area (colonna)> 90.
  6. Restituire gli indici di elementi che sono superiori a 90 e pari a 95 applicando le condizioni - Market_area (colonna)> 90 e market_id (colonna) == 95.
#Crea DataFrame per frutti
Frutti = dati.Frame (Market_id = C (23,45,67,8,90,123,45,95,789,54), market_area = c (200.456,78,567,89,76,345,678,95,456)))))
Stampa (frutta)
#return indice per valore è 45 nella colonna Market_id
Stampa (che (frutti $ market_id == 45))
Indici di ritorno per valori superiori a 90 nella colonna Market_id
Stampa (che (frutti $ market_id> 90))
#RETURN indici per valori superiori a 90 e pari a 95 nella colonna Market_id
Stampa (che (frutti $ market_id> 90 e frutta $ market_id == 95))
#return indice per valore è 45 nella colonna Market_Area
Stampa (che (frutti $ market_area == 45))
Indici di ritorno per valori superiori a 90 nella colonna Market_Area
Stampa (che (frutti $ market_area> 90))
#RETURN indici per valori superiori a 90 e pari a 95 nella colonna Market_Area
Stampa (che (frutti $ market_area> 90 e frutti $ market_area == 95))

Risultato

Tutti gli indici sono stati restituiti in base alla condizione. Ma in quinta condizione, non esiste alcun elemento. Quindi, è tornato a Integer (0).

Funzione match ()

La funzione Match () viene utilizzata per restituire l'indice di un elemento in base al valore specificato come primo parametro e il secondo parametro è il nome dell'oggetto. Se un elemento non viene trovato, tornerà a NA.

Sintassi

Match (elemento, oggetto)

Dove l'oggetto si riferisce al vettore, all'elenco e al telaio di dati.

Esempio 1
In questo esempio, creiamo un vettore di frutta con 10 elementi e verifichiamo 45, 90 e 960.

#Crea vettoriale per frutti
Frutti = C (23,45,67,8,90,123,45,95,789,54)
Stampa (frutta)
#return indice per valore è 45
Stampa (Match (45, Fruits))
#return indice per valore è 90
Stampa (Match (90, Fruits))
#return indice per valore è 960
Stampa (Match (960, Fruits))

Risultato

Possiamo vedere che 45 sono disponibili nella seconda posizione, 90 è disponibile in 5a posizione e 960 non è disponibile. Quindi ha restituito Na.

Esempio 2
In questo esempio, creiamo un elenco di frutti con 10 elementi e verifichiamo 45, 90 e 960.

#crea elenco per frutti
Frutti = elenco (23,45,67,8,90,123,45,95,789,54)
#return indice per valore è 45
Stampa (Match (45, Fruits))
#return indice per valore è 90
Stampa (Match (90, Fruits))
#return indice per valore è 960
Stampa (Match (960, Fruits))

Risultato

Possiamo vedere che 45 sono disponibili nella seconda posizione, 90 è disponibile in 5a posizione e 960 non è disponibile. Quindi ha restituito Na.

Esempio 3

In questo esempio, creiamo un frame di dati di frutta che ha una colonna Market_id con 10 elementi e controllando 45, 90 e 960 in quella colonna.

#Crea DataFrame per frutti
Frutti = dati.frame (market_id = c (23,45,67,8,90,123,45,95,789,54)))
Stampa (frutta)
#return indice per valore è 45 nella colonna Market_id
Stampa (Match (45, frutta $ market_id))
#return indice per valore è 90 nella colonna Market_id
Stampa (Match (90, frutta $ market_id))
#return indice per valore è 960 nella colonna Market_id
Stampa (Match (960, frutta $ market_id))

Risultato

Possiamo vedere che 45 sono disponibili nella seconda posizione, 90 è disponibile in 5a posizione e 960 non è disponibile. Quindi ha restituito NA nella colonna Market_id.

Conclusione

In questo tutorial R, abbiamo visto come restituire un indice usando le funzioni di Wha () e Match (). Quale funzione () restituisce l'indice/indici prendendo la condizione o l'espressione come parametro. Se la condizione fallisce, ritorna su Integer (0). Mentre la funzione Match () prende un valore e restituisce l'indice se viene trovata, altrimenti NA viene restituita. Per tutte queste funzioni, abbiamo fornito gli esempi su vettore, elenco e telaio dati.