Hvordan finne indeksen i r

Hvordan finne indeksen i r
I denne R -opplæringen vil vi se hvordan du kan returnere indeksen for et bestemt element i vektor, liste og i dataaframe.

Det er to funksjoner som er nyttige for å finne en indeks av spesifikke indekser basert på tilstanden eller uttrykket.

Vi vil diskutere en etter en i hver datastruktur.

Som () funksjon

Hvilken () -funksjonen brukes til å returnere indeksen til et element basert på tilstanden eller uttrykket som er spesifisert i det.

Syntaks

som (tilstand/uttrykk)

Det tar tilstanden eller uttrykket som en parameter.

Det er også mulig å spesifisere de flere forholdene i den.

Eksempel 1

I dette eksemplet lager vi en vektor med 10 numeriske elementer og:

  1. Returner indeksen på 45 ved å bruke tilstanden - Vector_Object == 45.
  2. Returner indeksene på elementer som er større enn 90 ved å bruke tilstanden - Vector_Object> 90.
  3. Returner indeksene på elementer som er større enn 90 og lik 95 ved å bruke tilstanden - Vector_Object> 90 & Vector_Object == 95.
#Create Vector for Fruits
Frukt = C (23,45,67,8,90,123,45,95,789,54)
trykk (frukt)
#return indeks for verdi er 45
Print (som (frukt == 45))
#return indekser for verdier større enn 90
trykk (som (frukt> 90))
#return indekser for verdier større enn 90 og lik 95
Print (som (frukt> 90 & frukt == 95))

Resultat

For den første tilstanden, ved 2. og 7. plassering, oppstår 45.

For den andre tilstanden, på 6., 8. og 9. plassering, er verdiene større enn 90. For den tredje tilstanden, på 8. plassering, er verdien større enn 90 og er lik 95.

Eksempel 2
I dette eksemplet lager vi en liste med 10 numeriske elementer og:

  1. Returner indeksen på 45 ved å bruke tilstanden - list_object == 45
  2. Returner indeksene på elementer som er større enn 90 ved å bruke tilstanden - list_object> 90.
  3. Returner indeksene på elementer som er større enn 90 og lik 95 ved å bruke forholdene - list_object> 90 & list_object == 95.
#skaper liste for frukt
frukt = liste (23,45,67,8,90,123,45,95,789,54)
#return indeks for verdi er 45
Print (som (frukt == 45))
#return indekser for verdier større enn 90
trykk (som (frukt> 90))
#return indekser for verdier større enn 90 og lik 95
Print (som (frukt> 90 & frukt == 95))

Resultat

For den første tilstanden, ved 2. og 7. plassering, oppstår 45.

For den andre tilstanden, på 6., 8. og 9. plassering, er verdiene større enn 90. For den tredje tilstanden, på 8. plassering, er verdien større enn 90 og lik 95.

Eksempel 3
I dette eksemplet lager vi et dataaframe med 10 numeriske elementer i begge kolonnene og:

  1. Returner indeksen på 45 ved å bruke tilstanden - Market_id (kolonne) == 45.
  2. Returner indeksene på elementer som er større enn 90 ved å bruke tilstanden - Market_id (kolonne)> 90.
  3. Returner indeksene på elementer som er større enn 90 og lik 95 ved å bruke betingelsene - Market_id (kolonne)> 90 & Market_id (kolonne) == 95.
  4. Returner indeksen på 45 ved å bruke tilstanden - Market_Area (kolonne) == 45.
  5. Returner indeksene for elementer som er større enn 90 ved å bruke tilstanden - Market_Area (kolonne)> 90.
  6. Returner indeksene på elementer som er større enn 90 og lik 95 ved å bruke betingelsene - Market_area (kolonne)> 90 & Market_id (kolonne) == 95.
#Create DataFrame for frukt
frukt = data.Ramme (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))))
trykk (frukt)
#Return -indeks for verdi er 45 i Market_id -kolonnen
print (som (frukt $ market_id == 45))
#Return -indekser for verdier større enn 90 i Market_id -kolonnen
Print (som (frukt $ Market_id> 90))
#Return -indekser for verdier større enn 90 og lik 95 i Market_id -kolonnen
print (som (frukt $ market_id> 90 & frukt $ market_id == 95))
#Return -indeks for verdi er 45 i Market_Area -kolonnen
print (som (frukt $ market_area == 45))
#Return -indekser for verdier større enn 90 i Market_Area -kolonnen
Print (som (frukt $ Market_area> 90))
#Return -indekser for verdier større enn 90 og lik 95 i Market_Area -kolonnen
print (som (frukt $ market_area> 90 & frukt $ market_area == 95))

Resultat

Alle indeksene ble returnert basert på tilstanden. Men i 5. tilstand eksisterer det ikke noe element. Derfor kom den tilbake til heltall (0).

Match () funksjon

Match () -funksjon brukes til å returnere indeksen for et element basert på verdien som er spesifisert som den første parameteren, og den andre parameteren er objektnavnet. Hvis et element ikke blir funnet, vil det komme tilbake til NA.

Syntaks

Match (element, objekt)

Hvor objekt refererer til vektoren, listen og dataaframe.

Eksempel 1
I dette eksemplet lager vi en fruktvektor med 10 elementer og kontrollerer for 45, 90 og 960.

#Create Vector for Fruits
Frukt = C (23,45,67,8,90,123,45,95,789,54)
trykk (frukt)
#return indeks for verdi er 45
trykk (match (45, frukt))
#return indeks for verdi er 90
trykk (match (90, frukt))
#return indeks for verdi er 960
trykk (match (960, frukt))

Resultat

Vi kan se at 45 er tilgjengelig på 2. plassering, 90 er tilgjengelig på 5. plassering, og 960 er ikke tilgjengelig. Så det returnerte na.

Eksempel 2
I dette eksemplet lager vi en fruktliste med 10 elementer og sjekker for 45, 90 og 960.

#skaper liste for frukt
frukt = liste (23,45,67,8,90,123,45,95,789,54)
#return indeks for verdi er 45
trykk (match (45, frukt))
#return indeks for verdi er 90
trykk (match (90, frukt))
#return indeks for verdi er 960
trykk (match (960, frukt))

Resultat

Vi kan se at 45 er tilgjengelig på 2. plassering, 90 er tilgjengelig på 5. plassering, og 960 er ikke tilgjengelig. Så det returnerte na.

Eksempel 3

I dette eksemplet lager vi en frukt DataFrame som har en Market_id -kolonne med 10 elementer og sjekker for 45, 90 og 960 i den kolonnen.

#Create DataFrame for frukt
frukt = data.Ramme (Market_id = C (23,45,67,8,90,123,45,95,789,54)))
trykk (frukt)
#Return -indeks for verdi er 45 i Market_id -kolonnen
trykk (match (45, frukt $ market_id))
#Return -indeks for verdi er 90 i Market_id -kolonnen
trykk (match (90, frukt $ market_id))
#Return -indeksen for verdi er 960 i Market_id -kolonnen
trykk (match (960, frukt $ market_id))

Resultat

Vi kan se at 45 er tilgjengelig på 2. plassering, 90 er tilgjengelig på 5. plassering, og 960 er ikke tilgjengelig. Så den returnerte NA i markedet_id -kolonnen.

Konklusjon

I denne R -opplæringen så vi hvordan vi skulle returnere en indeks ved hjelp av hvilken () og match () -funksjonene. Hvilken () -funksjonen returnerer indeksen/indeksene ved å ta tilstanden eller uttrykket som en parameter. Hvis tilstanden mislykkes, går den tilbake til heltall (0). Mens match () -funksjonen tar en verdi og returnerer indeksen hvis den blir funnet, ellers blir Na returnert. For alle disse funksjonene ga vi eksemplene på vektor, liste og dataaframe.