A: controleer of de string meerdere substrings bevat


U kunt de volgende methoden in R gebruiken om te controleren of een string meerdere substrings bevat:

Methode 1: Controleer of de string een van meerdere substrings bevat

 df$contains_any <- apply(sapply(find_strings, grepl, df$team), 1 , any )

Deze specifieke syntaxis controleert of elke tekenreeks in de teamkolom een van de tekenreeksen bevat die zijn opgegeven in de tekenreeksvector genaamd find_strings .

Methode 2: Controleer of de string meerdere substrings bevat

 df$contains_any <- apply(sapply(find_strings, grepl, df$team), 1 , all )

Deze specifieke syntaxis controleert of elke tekenreeks in de teamkolom alle tekenreeksen bevat die zijn opgegeven in de tekenreeksvector genaamd find_strings .

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met het volgende dataframe in R:

 #create data frame
df = data. frame (team=c('Good East Team', 'Good West Team', 'Great East Team',
                       'Great West Team', 'Bad East Team', 'Bad West Team'),
                points=c(93, 99, 105, 110, 85, 88))

#view data frame
df

             team points
1 Good East Team 93
2 Good West Team 99
3 Great East Team 105
4 Great West Team 110
5 Bad East Team 85
6 Bad West Team 88

Voorbeeld 1: Controleer of de string één of meerdere substrings bevat

We kunnen de volgende syntaxis gebruiken om te controleren of elke tekenreeks in de teamkolom de subtekenreeks ‚Goed‘ of ‚Is‘ bevat:

 #define substrings to look for
find_strings <- c(' Good ', ' East ')

#check if each string in team column contains either substring
df$good_or_east <- apply(sapply(find_strings, grepl, df$team), 1 , any )

#view updated data frame
df

             team points good_or_east
1 Good East Team 93 TRUE
2 Good West Team 99 TRUE
3 Great East Team 105 TRUE
4 Great West Team 110 FALSE
5 Bad East Team 85 TRUE
6 Bad West Team 88 FALSE

De nieuwe kolom good_or_east retourneert de volgende waarden:

  • WAAR als het team ‘Goed’ of ‘Is’ bevat
  • FALSE als het team noch “Goed” noch “Oost” bevat

Voorbeeld 2 : Controleer of string meerdere substrings bevat

We kunnen de volgende syntaxis gebruiken om te controleren of elke string in de teamkolom de substring “Good” en “Is” bevat:

 #define substrings to look for
find_strings <- c(' Good ', ' East ')

#check if each string in team column contains either substring
df$good_and_east <- apply(sapply(find_strings, grepl, df$team), 1 , all )

#view updated data frame
df

             team points good_and_east
1 Good East Team 93 TRUE
2 Good West Team 99 FALSE
3 Great East Team 105 FALSE
4 Great West Team 110 FALSE
5 Bad East Team 85 FALSE
6 Bad West Team 88 FALSE

De nieuwe kolom good_and_east retourneert de volgende waarden:

  • WAAR als het team ‘Goed’ en ‘Is’ bevat
  • FALSE als het team geen “Good” en “Is” bevat

Houd er rekening mee dat er slechts één TRUE- waarde wordt geretourneerd, omdat er slechts één teamnaam is die de subtekenreeks ‚Goed‘ en de subtekenreeks ‚Oost‘ bevat.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

A: Hoe u kunt controleren of het teken in een string staat
A: Hoe u spaties uit tekenreeksen verwijdert
A: Hoe een string tussen specifieke karakters te extraheren

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert