A: so verwenden sie %in%, um zeilen mit einem wert in der liste zu filtern


Sie können die folgende grundlegende Syntax mit dem %in% -Operator in R verwenden, um Zeilen zu filtern, die einen Wert in einer Liste enthalten:

 library (dplyr)

#specify team names to keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is in list of team names to keep
df_new <- df %>% filter(team %in% team_names)

Diese spezielle Syntax filtert einen Datenrahmen, um nur Zeilen beizubehalten, in denen der Wert der Teamspalte einem der drei Werte des von uns angegebenen Vektors team_names entspricht.

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Verwendung von %in% zum Filtern von Zeilen mit einem Wert in der Liste

Angenommen, wir haben den folgenden Datenrahmen in R, der Informationen über verschiedene Basketballteams enthält:

 #create data frame
df <- data. frame (team=c('Mavs', 'Pacers', 'Mavs', 'Celtics', 'Nets', 'Pacers'),
                 points=c(104, 110, 134, 125, 114, 124),
                 assists=c(22, 30, 35, 35, 20, 27))

#view data frame
df

     team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Celtics 125 35
5 Nets 114 20
6 Pacers 124 27

Nehmen wir an, wir möchten den Datenrahmen so filtern, dass er nur Zeilen enthält, deren Wert in der Teamspalte einem der folgenden Teamnamen entspricht:

  • Mavs
  • Schrittmacher
  • Netze

Dazu können wir die folgende Syntax mit dem %in% -Operator verwenden:

 library (dplyr)

#specify team names to keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is in list of team names to keep
df_new <- df %>% filter(team %in% team_names)

#view updated data frame
df_new

    team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Nets 114 20
5 Pacers 124 27

Beachten Sie, dass nur Zeilen mit einem Mavs-, Pacers- oder Nets-Wert in der Teamspalte beibehalten werden.

Wenn Sie Zeilen filtern möchten, in denen der Teamname nicht in einer Liste mit Teamnamen enthalten ist, fügen Sie einfach ein Ausrufezeichen ( ! ) vor dem Spaltennamen hinzu:

 library (dplyr)

#specify team names to not keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is not in list of team names to keep
df_new <- df %>% filter( ! team %in% team_names)

#view updated data frame
df_new

     team points assists
1 Celtics 125 35

Beachten Sie, dass nur Zeilen beibehalten werden, deren Wert nicht Mavs, Pacers oder Nets in der Teamspalte entspricht .

Hinweis : Die vollständige Dokumentation der Filterfunktion in dplyr finden Sie hier .

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in dplyr ausführen:

So wählen Sie mit dplyr die erste Zeile nach Gruppe aus
So filtern Sie mit dplyr nach mehreren Bedingungen
So filtern Sie Zeilen, die eine bestimmte Zeichenfolge enthalten, mit dplyr

Einen Kommentar hinzufügen

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