Aan de slagGa gratis aan de slag

grepl & grep

In de meest eenvoudige vorm kun je reguliere expressies gebruiken om te controleren of een patroon voorkomt in een tekenreeks of een vector met tekenreeksen. Hiervoor kun je het volgende gebruiken:

  • grepl(), dat TRUE teruggeeft wanneer een patroon wordt gevonden in de overeenkomstige tekenreeks.
  • grep(), dat een vector met indexen teruggeeft van de tekenreeksen die het patroon bevatten.

Beide functies hebben een pattern- en een x-argument nodig, waarbij pattern de reguliere expressie is waarop je wilt matchen en x de tekenvector is waarin gezocht moet worden naar matches.

In deze en de volgende oefeningen ga je een tekenvector met e-mailadressen opvragen en bewerken! De vector emails is al vooraf gedefinieerd, dus je kunt meteen aan de slag met de instructies!

Deze oefening maakt deel uit van de cursus

R voor gevorderden

Cursus bekijken

Oefeninstructies

  • Gebruik grepl() om een vector met booleans te genereren die aangeeft of deze e-mailadressen "edu" bevatten. Print het resultaat naar de output.
  • Doe hetzelfde met grep(), maar sla dit keer de resulterende indexen op in een variabele hits.
  • Gebruik de variabele hits om uit de vector emails alleen de e-mails te selecteren die "edu" bevatten.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# The emails vector has already been defined for you
emails <- c("[email protected]", "[email protected]", "[email protected]",
            "invalid.edu", "[email protected]", "[email protected]")

# Use grepl() to match for "edu"


# Use grep() to match for "edu", save result to hits


# Subset emails using hits
Code bewerken en uitvoeren