Odp.: jak używać grepl z wieloma modelami
Możesz użyć następującej podstawowej składni z funkcją grepl() w R, aby filtrować wiersze w ramce danych zawierającej jeden z kilku wzorców ciągów w określonej kolumnie:
library (dplyr) new_df <- filter(df, grepl(paste(my_patterns, collapse=' | '), my_column))
Ta konkretna składnia filtruje ramkę danych pod kątem wierszy, w których wartość kolumny o nazwie moja_kolumna zawiera jeden ze wzorców ciągów w wektorze o nazwie moje_wzorce .
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: jak używać grepl() z wieloma modelami w R
Załóżmy, że mamy następującą ramkę danych w R, która zawiera informacje o różnych drużynach koszykówki:
#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
Załóżmy, że chcemy przefiltrować ramkę danych tak, aby zawierała tylko wiersze, w których ciąg kolumny stanu zawiera jeden z następujących wzorców ciągów:
- ’DOBRY’
- ’Szary’
- ’Były’
W tym celu możemy użyć następującej składni funkcji grepl() :
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
Należy zauważyć, że ramka danych została przefiltrowana tak, aby zawierała tylko wiersze, w których ciąg znaków w kolumnie stanu zawiera jeden z trzech określonych przez nas wzorców.
Należy pamiętać, że użycie funkcji Paste() z argumentem Collapses=’|’ właściwie szukaliśmy ciągu „Good|Gre|Ex” w kolumnie statusu .
Od | Symbol w R oznacza „OR”, udało nam się znaleźć wiersze zawierające „Dobry” lub Gre” lub „Ex” w kolumnie statusu .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:
Jak mutować zmienną, jeśli kolumna zawiera ciąg znaków, używając dplyr
Jak usunąć pierwszy znak z ciągów za pomocą dplyr
Jak zamienić ciąg w kolumnie za pomocą dplyr