A: so verwenden sie grepl mit mehreren modellen
Sie können die folgende grundlegende Syntax mit der Funktion grepl() in R verwenden, um Zeilen in einem Datenrahmen zu filtern, der eines von mehreren Zeichenfolgenmustern in einer bestimmten Spalte enthält:
library (dplyr) new_df <- filter(df, grepl(paste(my_patterns, collapse=' | '), my_column))
Diese spezielle Syntax filtert den Datenrahmen nach Zeilen, in denen der Wert der Spalte namens my_column eines der Zeichenfolgenmuster im Vektor namens my_patterns enthält.
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Verwendung von grepl() mit mehreren Modellen in R
Angenommen, wir haben den folgenden Datenrahmen in R, der Informationen über verschiedene Basketballteams enthält:
#create data frame df <- data. frame (team=c('Mavs', 'Hawks', 'Nets', 'Heat', 'Cavs'), points=c(104, 115, 124, 120, 112), status=c('Bad', 'Good', 'Excellent', 'Great', 'Bad')) #view data frame df team points status 1 Mavs 104 Bad 2 Hawks 115 Good 3 Nets 124 Excellent 4 Heat 120 Great 5 Cavs 112 Bad
Angenommen, wir möchten den Datenrahmen so filtern, dass er nur Zeilen enthält, in denen die Statusspaltenzeichenfolge eines der folgenden Zeichenfolgenmuster enthält:
- ‚GUT‘
- ‚Grau‘
- ‚Ex‘
Dazu können wir die folgende Syntax mit der Funktion grepl() verwenden:
library (dplyr) #define patterns to search for my_patterns <- c(' Good ', ' Gre ', ' Ex ') #filter for rows where status column contains one of several strings new_df <- filter(df, grepl(paste(my_patterns, collapse=' | '), status)) #view results new_df team points status 1 Hawks 115 Good 2 Nets 124 Excellent 3 Heat 120 Great
Beachten Sie, dass der Datenrahmen so gefiltert wurde, dass er nur Zeilen enthält, in denen die Zeichenfolge in der Statusspalte eines der drei von uns angegebenen Muster enthält.
Beachten Sie, dass die Verwendung der Paste() -Funktion mit dem Argument Collapses=’|‘ Wir haben tatsächlich nach der Zeichenfolge „Good|Gre|Ex“ in der Statusspalte gesucht.
Seit | Das Symbol in R bedeutet „OR“, wir konnten in der Statusspalte die Zeilen finden, die „Good“ oder „Gre“ oder „Ex“ enthalten.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:
So mutieren Sie mit dplyr eine Variable, wenn die Spalte eine Zeichenfolge enthält
So entfernen Sie das erste Zeichen aus Zeichenfolgen mit dplyr
So ersetzen Sie eine Zeichenfolge in einer Spalte mit dplyr