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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *