So verwenden sie die which-funktion in r (mit beispielen)


Die Funktion which() in R gibt die Position von Elementen in einem logischen Vektor zurück, die TRUE sind.

Dieses Tutorial bietet mehrere Beispiele für die praktische Verwendung dieser Funktion.

Beispiel 1: Elemente in einem Vektor finden

Der folgende Code zeigt, wie man die Position aller Elemente eines Vektors gleich 5 findet:

 #create data
data <- c(1, 2, 2, 3, 4, 4, 4, 5, 5, 12)

#find the position of all elements equal to 5
which (data == 5)

[1] 8 9

Wir sehen, dass die Elemente an den Positionen 8 und 9 im Vektor gleich dem Wert 5 sind.

Wir können auch die Position aller Elemente eines Vektors ermitteln, die ungleich 5 sind :

 #find the position of all elements not equal to 5
which (data != 5)

[1] 1 2 3 4 5 6 7 10

Wir können auch herausfinden, welche Elemente zwischen zwei Werten oder außerhalb von zwei Werten liegen:

 #find the position of all elements with values between 2 and 4
which (data >= 2 & data <= 4)

[1] 2 3 4 5 6 7

#find the position of all elements with values outside of 2 and 4
which (data < 2 | data > 4)

[1] 1 8 9 10

Beispiel 2: Vorkommen in einem Vektor zählen

Der folgende Code zeigt, wie Sie mit der Funktion length() die Anzahl der Elemente in einem Vektor ermitteln, die größer als ein bestimmter Wert ist:

 #createdata
data <- c(1, 2, 2, 3, 4, 4, 4, 5, 5, 12)

#find number of elements greater than 4
length ( which (data > 4))

[1] 3

Wir können sehen, dass dieser Vektor 3 Elemente mit Werten größer als 4 enthält.

Beispiel 3: Zeilen in einem Datenrahmen suchen

Der folgende Code zeigt, wie die Zeile in einem Datenrahmen zurückgegeben wird, die den Maximal- oder Minimalwert in einer bestimmten Spalte enthält:

 #create data frame
df <- data. frame (x = c(1, 2, 2, 3, 4, 5),
                 y = c(7, 7, 8, 9, 9, 9),
                 z = c('A', 'B', 'C', 'D', 'E', 'F'))

#view data frame
df

  X Y Z
1 1 7 A
2 2 7 B
3 2 8 C
4 3 9 D
5 4 9 E
6 5 9 F

#return row that contains the max value in column x
df[ which . max (df$x), ]

  X Y Z
6 5 9 F

#return row that contains the min value in column x
df[ which . min (df$x), ]

  X Y Z
1 1 7 A

Beispiel 4: Teilmenge nach Zeilen in einem Datenrahmen

Der folgende Code zeigt, wie ein Datenrahmen in Zeilen unterteilt wird, die bestimmte Kriterien erfüllen:

 #create data frame
df <- data. frame (x = c(1, 2, 2, 3, 4, 5),
                 y = c(7, 7, 8, 9, 9, 9),
                 z = c('A', 'B', 'C', 'D', 'E', 'F'))

#view data frame
df

  X Y Z
1 1 7 A
2 2 7 B
3 2 8 C
4 3 9 D
5 4 9 E
6 5 9 F

#return subset of data frame where values in column y are greater than 8
df[ which (df$y > 8), ]

  X Y Z
4 3 9 D
5 4 9 E
6 5 9 F

Weitere R-Tutorials finden Sie auf dieser Seite .

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert