A: grepl gebruiken met meerdere modellen
U kunt de volgende basissyntaxis gebruiken met de grepl()- functie in R om rijen te filteren in een dataframe dat een van de verschillende tekenreekspatronen in een specifieke kolom bevat:
library (dplyr) new_df <- filter(df, grepl(paste(my_patterns, collapse=' | '), my_column))
Deze specifieke syntaxis filtert het dataframe voor rijen waarbij de waarde van de kolom genaamd my_column een van de tekenreekspatronen bevat in de vector genaamd my_patterns .
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: hoe je grepl() gebruikt met meerdere modellen in R
Stel dat we het volgende gegevensframe in R hebben dat informatie bevat over verschillende basketbalteams:
#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
Stel dat we het dataframe willen filteren zodat het alleen rijen bevat waarvan de statuskolomtekenreeks een van de volgende tekenreekspatronen bevat:
- ‚GOED‘
- ‚Grijs‘
- ‚Ex‘
We kunnen hiervoor de volgende syntaxis gebruiken met de grepl()- functie:
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
Houd er rekening mee dat het dataframe is gefilterd om alleen rijen te bevatten waarin de tekenreeks in de statuskolom een van de drie patronen bevat die we hebben opgegeven.
Merk op dat het gebruik van de functie Paste() met het argument Collapses=’|‘ we hebben eigenlijk gezocht naar de string “Good|Gre|Ex” in de statuskolom .
Sinds | Het symbool in R betekent „OR“, we hebben de rijen kunnen vinden die „Goed“ of Gre“ of „Ex“ bevatten in de statuskolom .
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:
Hoe een variabele te muteren als de kolom een string bevat met behulp van dplyr
Hoe het eerste teken uit tekenreeksen te verwijderen met dplyr
Hoe een string in een kolom te vervangen met dplyr