grepl y grep

En su forma más básica, las expresiones regulares se pueden utilizar para ver si existe un patrón dentro de una cadena de caracteres o un vector de cadenas de caracteres. Para ello, puedes utilizar lo siguiente:

  • grepl(), que devuelve TRUE cuando se encuentra un patrón en la cadena de caracteres correspondiente.
  • grep(), que devuelve un vector de índices de las cadenas de caracteres que contienen el patrón.

Ambas funciones necesitan un argumento pattern y un argumento x, donde pattern es la expresión regular con la que quieres aplicar la coincidencia, y el argumento x es el vector de caracteres a partir del que deben buscarse las coincidencias.

En este ejercicio y los siguientes, consultarás y manipularás un vector de caracteres de direcciones de correo electrónico. El vector emails está predefinido, para que puedas empezar con las instrucciones inmediatamente.

Este ejercicio forma parte del curso

R intermedio

Ver curso

Instrucciones de ejercicio

  • Utiliza grepl() para generar un vector de elementos lógicos que indique si estas direcciones de correo electrónico contienen "edu". Imprime el resultado en la salida.
  • Haz lo mismo con grep(), pero esta vez guarda los índices resultantes en una variable hits.
  • Utiliza la variable hits para seleccionar en el vector emails solo las direcciones de correo electrónico que contengan "edu".

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# The emails vector has already been defined for you
emails <- c("john.doe@ivyleague.edu", "education@world.gov", "dalai.lama@peace.org",
            "invalid.edu", "quant@bigdatacollege.edu", "cookie.monster@sesame.tv")

# Use grepl() to match for "edu"


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


# Subset emails using hits