Finde Index eines Elements in einem R-Vektor

Manav Narula 25 Februar 2021
  1. Verwenden Sie die Funktion which(), um den Index eines Elements in R zu finden
  2. Verwenden Sie die Funktion match(), um den Index eines Elements in R zu finden
Finde Index eines Elements in einem R-Vektor

Ein Vektor ist eine der grundlegenden Datenstrukturen in R. Er wird verwendet, um Elemente in einer Folge zu speichern, aber im Gegensatz zu Listen müssen alle Elemente in einem Vektor vom gleichen Datentyp sein.

Jedes Element im Vektor hat eine bestimmte Position oder einen Index. Es ist möglich, den Index eines jeden Elements mit Hilfe von eingebauten Funktionen in R wie which() und match() zu ermitteln.

In diesem Tutorial werden wir den Index von Element 7 und 8 des folgenden Vektors finden:

x <- c(5,6,8,9,7,5,7,8)

Verwenden Sie die Funktion which(), um den Index eines Elements in R zu finden

Die Funktion which() gibt einen Vektor mit dem Index (oder den Indizes) des Elements zurück, das mit dem logischen Vektor übereinstimmt (in diesem Fall ==).

Ein Beispiel:

x <- c(5,6,8,9,7,5,7,8)
which(x == 7)
[1] 5 7

Beachten Sie, dass, da 7 zweimal im Vektor vorkommt, beide seiner Positionen zurückgegeben werden. Wenn wir den ersten Index von 7 wollen, können wir das einfach wie unten gezeigt machen:

which(x == 7)[1]
[1] 5

Wir können auch die Funktion which() verwenden, um die Indizes mehrerer Elemente zu finden, indem wir den Parameter %in% verwenden, der einen Vektor mit einem True-Wert für jedes übereinstimmende Element zurückgibt.

which(x %in% c(7,8))
[1] 3 5 7 8

Wie Sie sehen können, werden alle Positionen von 7 und 8 zurückgegeben.

Verwenden Sie die Funktion match(), um den Index eines Elements in R zu finden

Die Funktion match() ist der Funktion which() sehr ähnlich. Sie gibt einen Vektor mit dem ersten Index (wenn das Element wie in unserem Fall an mehr als einer Position steht) des Elements zurück und gilt als schneller als die which()-Funktion.

x <- c(5,6,8,9,7,5,7,8)
match(7,x)
[1] 5

Wir können sie auch verwenden, um den ersten Index von mehreren Elementen zu finden, wie unten gezeigt:

x <- c(5,6,8,9,7,5,7,8)
match(c(7,8),x)
[1] 5 3

Beachten Sie, dass nur die ersten Positionen von 7 und 8 von der match()-Funktion zurückgegeben werden. Deshalb wird die Funktion match() als die schnellere der beiden Methoden für solche Situationen angesehen, in denen nur der erste Index benötigt wird.

Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Verwandter Artikel - R Vector