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 devuelveTRUE
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
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 variablehits
. - Utiliza la variable
hits
para seleccionar en el vectoremails
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