Dplyr: so verwenden sie einen „nicht vorhandenen“ nachrichtenfilter
Sie können die folgende grundlegende Syntax in dplyr verwenden, um Zeilen in einem Datenrahmen zu filtern, die nicht in einer Werteliste enthalten sind:
df %>% filter (!col_name %in% c(' value1 ', ' value2 ', ' value3 ', ...))
Die folgenden Beispiele zeigen, wie Sie diese Syntax in der Praxis anwenden können.
Beispiel 1: Zeilen filtern, die keinen Wert in einer Spalte enthalten
Angenommen, wir haben den folgenden Datenrahmen in R:
#create data frame df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'), position=c('G', 'G', 'F', 'G', 'F', 'C', 'C', 'C'), points=c(12, 14, 19, 24, 36, 41, 18, 29)) #view data frame df team position points 1 AG 12 2 AG 14 3 BF 19 4 BG 24 5 CF 36 6 CC 41 7 DC 18 8 DC 29
Die folgende Syntax zeigt, wie Zeilen gefiltert werden, in denen der Teamname nicht „A“ oder „B“ ist:
#filter for rows where team name is not 'A' or 'B'
df %>%
filter (!team %in% c(' A ', ' B '))
team position points
1 CF 36
2 CC 41
3 DC 18
4 DC 29
Beispiel 2: Zeilen filtern, die keine Werte in mehreren Spalten enthalten
Angenommen, wir haben den folgenden Datenrahmen in R:
#create data frame df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'), position=c('G', 'G', 'F', 'G', 'F', 'C', 'C', 'C'), points=c(12, 14, 19, 24, 36, 41, 18, 29)) #view data frame df team position points 1 AG 12 2 AG 14 3 BF 19 4 BG 24 5 CF 36 6 CC 41 7 DC 18 8 DC 29
Die folgende Syntax zeigt, wie Zeilen gefiltert werden, in denen der Teamname nicht „A“ und die Position nicht „C“ entspricht:
#filter for rows where team name is not 'A' and position is not 'C'
df %>%
filter (!team %in% c(' A ') & !position %in% c(' C '))
team position points
1 BF 19
2 BG 24
3 CF 36
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie Sie andere allgemeine Funktionen in dplyr ausführen:
So löschen Sie Zeilen mit dplyr
So wählen Sie Spalten nach Index mit dplyr aus
So filtern Sie Zeilen, die eine bestimmte Zeichenfolge enthalten, mit dplyr