So verwenden sie den %in%-operator in r (mit beispielen)


Mit dem %in% -Operator in R können Sie bestimmen, ob ein Element zu einem Vektor oder Datenrahmen gehört oder nicht.

Dieses Tutorial bietet drei Beispiele für die Verwendung dieser Funktion in verschiedenen Szenarien.

Beispiel 1: Verwendung von %in% mit Vektoren

Mit dem %in% -Operator können wir bestimmen, wie viele Elemente eines Vektors zu einem anderen Vektor gehören:

 #define two vectors of data
data1 <- c(3, 5, 7, 7, 14, 19, 22, 25)

data2 <- c(1, 2, 3, 4, 5)

#produce new vector that contains elements of data1 that are in data2
data1[data1 %in% data2]

[1] 3 5

Wir können sehen, dass die Werte 3 und 5 die einzigen Elemente des Vektors mit der Bezeichnung data2 sind, die im Vektor mit der Bezeichnung data1 enthalten sind.

Beispiel 2: Verwenden Sie %in%, um Datenrahmen zu filtern

Wir können den %in% -Operator auch verwenden, um Zeilen in einem Datenrahmen zu filtern, die bestimmte Werte enthalten:

 #define data frame
df <- data.frame(team=c('A', 'A', 'B', 'B', 'B', 'C'),
                 points=c(67, 72, 77, 89, 84, 97),
                 assists=c(14, 16, 12, 22, 25, 20))

#view data frame
df

  team points assists
1 A 67 14
2 A 72 16
3 B 77 12
4 B 89 22
5 B 84 25
6 C 97 20

#produce new data frame that only contains rows where team is 'B'
df_new <- df[df$team %in% c(' B '), ]
df_new

  team points assists
3 B 77 12
4 B 89 22
5 B 84 25

#produce new data frame that only contains rows where team is 'B' or 'C'
df_new2 <- df[df$team %in% c(' B ', ' C '), ]
df_new2

  team points assists
3 B 77 12
4 B 89 22
5 B 84 25
6 C 97 20

Beispiel 3: Verwenden Sie %in%, um Datenrahmenspalten zu erstellen

Wir können auch den %in% -Operator verwenden, um neue Datenrahmenspalten zu erstellen.

Der folgende Code zeigt beispielsweise, wie eine neue Spalte namens „ Division“ erstellt wird, in der die Teams „A“ und „C“ als „Ost“ und die Teams „B“ als „West“ platziert werden:

 library (dplyr)

#define data frame
df <- data.frame(team=c('A', 'A', 'B', 'B', 'B', 'C'),
                 points=c(67, 72, 77, 89, 84, 97),
                 assists=c(14, 16, 12, 22, 25, 20))

#view data frame
df

  team points assists
1 A 67 14
2 A 72 16
3 B 77 12
4 B 89 22
5 B 84 25
6 C 97 20

#create new column called division
df$division = if_else (df$team %in% c(' A ', ' C '), ' East ', ' West ')
df

  team points assists division
1 A 67 14 East
2 A 72 16 East
3 B 77 12 West
4 B 89 22 West
5 B 84 25 West
6 C 97 20 East

Zusätzliche Ressourcen

So kombinieren Sie in R zwei Spalten zu einer
So fügen Sie Zeilen zu einem Datenrahmen in R hinzu
So vergleichen Sie zwei Spalten in R

Einen Kommentar hinzufügen

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