ComenzarEmpieza gratis

Extrae nombres con contexto

Volvamos a usar nuestro conjunto de datos sobre políticos suizos. Consta de dos variables: articles, que es una colección de artículos de noticias sobre política suiza, y politicians, que es un vector con varios nombres de políticos y políticas suizas.

Ya contaste el número de apariciones por nombre, pero ¿no sería interesante no solo contar los nombres, sino también ver en qué contexto se usan? Por ejemplo, podrías comparar si los contextos difieren entre políticos y políticas. Para hacerlo, tendrás que extraer el texto que rodea los nombres de nuestras personas políticas.

Como el texto contiene caracteres de palabra \\w así como signos de puntuación [:punct:] como puntos . o comas ,, tendrás que crear un patrón que coincida con ambos tipos de caracteres.

Este ejercicio forma parte del curso

Expresiones regulares intermedias en R

Ver curso

Instrucciones del ejercicio

  • Usa el vector politicians y colápsalo para crear un "patrón OR" como hiciste en el capítulo 2.
  • Crea un patrón personalizado entre corchetes [] que coincida tanto con caracteres de palabra como con signos de puntuación.
  • Usando glue, añade el context recién creado tanto delante como detrás de polit_pattern. El \\s? indica que después puede haber un espacio o no tras los nombres de las personas políticas.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Create our polit_pattern again by collapsing "politicians"
polit_pattern <- glue_collapse(___, sep = "|")

# Match one or more word characters or punctuations
context <- "([___[___]]+\\s){0,10}"

# Add this pattern in front and after the polit_pattern
polit_pattern_with_context <- glue(
  "{___}({polit_pattern})\\s?{___}"
)

str_extract_all(
  articles$text,
  pattern = polit_pattern_with_context
)
Editar y ejecutar código