En esta sesión realizaremos ejemplos básicos de manejo de texto con la libreria Stringr de R.
# Leemos el script de setup
source("https://raw.githubusercontent.com/JuveCampos/miniProyectos/master/SeminarioStringR2/Scripts/setup.R")
# Invocamos a las librerias
library(stringr)
library(tidyverse)
stringr para limpiar bases de textos.Para este ejemplo, vamos a utilizar stringr para limpiar typos generados por utilizar encodings incorrectos.
Paso 1. Exploramos la base.
View(mapa)
plot(mapa, max.plot = 1) # Ploteamos la primer variable del mapa
head(mapa[,1:4], 3) # Primeras observaciones del mapa
## Simple feature collection with 3 features and 4 fields
## geometry type: POINT
## dimension: XY
## bbox: xmin: -99.21994 ymin: 19.38442 xmax: -99.14706 ymax: 19.53606
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
## NOMBRE NOM_OFICIA
## 1 REPRESA RÃ\u008dO BECERRA REPRESA RÃ\u008dO BECERRA
## 2 LAGUNA DE REGULACIÓN CUAUTEPEC LAGUNA DE REGULACIÓN CUAUTEPEC
## 3 BARRILACO BARRILACO
## RESPONSABL
## 1 Sistema de Aguas de la Ciudad de México (Gobierno del DF)
## 2 Gobieno del Estado (SACM)
## 3 Sistema de Aguas de la Ciudad de México (Gobierno del DF)
## ESTADO geometry
## 1 Ciudad de México POINT (-99.19211 19.38442)
## 2 Ciudad de México POINT (-99.14706 19.53606)
## 3 Ciudad de México POINT (-99.21994 19.419)
class(mapa$NOMBRE) # Vemos si la variable es texto o factor
## [1] "factor"
Podemos ver que la letra Í fué cambiada por Ã08d, la letra Ó fué cambiada por un _Ó_ y la letra é fué cambiada por un é. Como esto puede ser molesto a la hora de elaborar mapas, vamos a sustituir estas letras utilizando expresiones regulares simples y la función str_replace().
# Trabajando con la variable NOMBRE
# 1. Checar que nuestra expresion regular capte lo que queremos que capte
O_acento <- "Ó"
I_acento <- "Ã"
e_acento <- "é"
str_view(as.character(mapa$NOMBRE), pattern = O_acento, match = T)
# 2. Corregimos el error
mapa$NOMBRE <- str_replace_all(string = mapa$NOMBRE, pattern = O_acento, replacement = "Ó") %>%
str_replace_all(pattern = I_acento, replacement = "Í") %>%
str_remove_all(pattern = "\u008d")
mapa$NOMBRE # Checamos si se modifico el texto de la variable
## [1] "REPRESA RÍO BECERRA"
## [2] "LAGUNA DE REGULACIÓN CUAUTEPEC"
## [3] "BARRILACO"
## [4] "DOLORES"
## [5] "RUIZ CORTINES"
## [6] "TACUBAYA"
## [7] "BECERRA \"C\""
## [8] "BECERRA \"B\""
## [9] "BECERRA \"A\""
## [10] "REPRESA RÍO BECERRA"
## [11] "MIXCOAC"
## [12] "TARANGO"
## [13] "PILARES"
## [14] "ATLAMAYA"
## [15] "LAS FLORES"
## [16] "LA MINA"
## [17] "TEQUILASCO"
## [18] "TEXCALATLACO"
## [19] "COYOTES"
## [20] "LA ROTA"
## [21] "ANZALDO"
## [22] "LA MAGDALENA"
## [23] "SAN LUCAS"
## [24] "LAGUNA DE REGULACIÓN SAN LORENZO TEZONCO"
## [25] "LAGUNA DE REGULACIÓN CIENEGA CHICA"
## [26] "LAGUNA DE REGULACIÓN CIENEGA GRANDE"
Y ya está, ya podemos hacer mapas bonitos con esta capa:
stringr para convertir fechas a texto.Ahora, utilizaremos los tweets de Andres Manuel para ejemplificar como convertir texto a fechas. La base inicia el 25 de marzo de 2018.
# Exploramos la base...
head(tweets_amlo) # Primeras observaciones
## # A tibble: 6 x 2
## text date
## <chr> <chr>
## 1 Reinstalación del Sistema Nacional de Búsqueda, desde Pa… "9 h\nHace 9 h…
## 2 Inauguración del estadio de béisbol 'Alfredo Harp Helú',… 24 mar.
## 3 Programa de mejoramiento urbano, desde Acapulco, Guerrer… 23 mar.
## 4 Clausura de la 82 Convención Bancaria, desde Acapulco, G… 22 mar.
## 5 Ya empezamos a escribir el prólogo de la gran obra de tr… 22 mar.
## 6 Aniversario 213 del Natalicio de Benito Juárez, desde Gu… 21 mar.
names(tweets_amlo) # Nombres de las variables
## [1] "text" "date"
tweets_amlo$date[1:20] # Ejemplo de los registros
## [1] "9 h\nHace 9 horas" "24 mar." "23 mar."
## [4] "22 mar." "22 mar." "21 mar."
## [7] "21 mar." "20 mar." "20 mar."
## [10] "19 mar." "18 mar." "18 mar."
## [13] "17 mar." "15 mar." "14 mar."
## [16] "14 mar." "13 mar." "12 mar."
## [19] "12 mar." "12 mar."
# 1. Detectamos los tweets de hoy!
patron_hoy <- 'Hace'
str_view(string = tweets_amlo$date, pattern = patron_hoy, match = T)
str_detect(string = tweets_amlo$date, pattern = patron_hoy)
## [1] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [23] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [34] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [45] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [56] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [67] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [78] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [89] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [100] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [111] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [122] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [133] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [144] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [155] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [166] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [177] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [188] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [199] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [210] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [221] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [232] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [243] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [254] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [265] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [276] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [287] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [298] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [309] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [320] FALSE
# Donde el match es TRUE, cambiamos la fecha al formato deseado.
tweets_amlo$date[str_detect(string = tweets_amlo$date, pattern = patron_hoy)] <- "25-03-2019"
# 2. detectamos los tweets de 2019
pp <- or1(c(START %R% capture(one_or_more(DGT)) %R% SPC, SPC %R% capture(one_or_more(DGT)) %R% END))
levels(as.factor(str_remove_all(tweets_amlo$date, pattern = pp)))
## [1] "25-03-2019" "dic." "ene." "feb." "mar."
## [6] "nov." "oct." "sept."
# Generamos un vector de meses para hacer un reemplazo mas estricto
meses <- c("ene." = "01",
"feb." = "02",
"mar." = "03",
"abr." = "04",
"may." = "05",
"jun." = "06",
"jul." = "07",
"ago." = "08",
"sept." = "09",
"oct." = "10",
"nov." = "11",
"dic." = "12"
)
# Reemplazamos todo por su reemplazo...
str_replace_all(string = tweets_amlo$date, pattern = meses, replacement = meses)
## [1] "25-03-2019" "24 03" "23 03" "22 03" "22 03"
## [6] "21 03" "21 03" "20 03" "20 03" "19 03"
## [11] "18 03" "18 03" "17 03" "15 03" "14 03"
## [16] "14 03" "13 03" "12 03" "12 03" "12 03"
## [21] "11 03" "11 03" "10 03" "10 03" "9 03"
## [26] "8 03" "8 03" "7 03" "7 03" "7 03"
## [31] "6 03" "5 03" "5 03" "4 03" "3 03"
## [36] "3 03" "2 03" "1 03" "28 02" "27 02"
## [41] "26 02" "26 02" "26 02" "25 02" "24 02"
## [46] "24 02" "24 02" "23 02" "22 02" "22 02"
## [51] "22 02" "22 02" "21 02" "21 02" "21 02"
## [56] "20 02" "20 02" "19 02" "19 02" "18 02"
## [61] "18 02" "18 02" "17 02" "17 02" "16 02"
## [66] "16 02" "15 02" "14 02" "14 02" "13 02"
## [71] "13 02" "12 02" "12 02" "11 02" "10 02"
## [76] "10 02" "10 02" "9 02" "9 02" "9 02"
## [81] "8 02" "8 02" "8 02" "7 02" "7 02"
## [86] "7 02" "6 02" "5 02" "5 02" "4 02"
## [91] "3 02" "3 02" "2 02" "2 02" "2 02"
## [96] "1 02" "1 02" "31 01" "31 01" "31 01"
## [101] "30 01" "30 01" "29 01" "29 01" "28 01"
## [106] "28 01" "27 01" "27 01" "26 01" "26 01"
## [111] "25 01" "25 01" "25 01" "24 01" "23 01"
## [116] "22 01" "22 01" "22 01" "22 01" "21 01"
## [121] "21 01" "21 01" "20 01" "19 01" "19 01"
## [126] "19 01" "19 01" "18 01" "18 01" "17 01"
## [131] "17 01" "16 01" "15 01" "15 01" "14 01"
## [136] "13 01" "12 01" "12 01" "12 01" "11 01"
## [141] "11 01" "10 01" "10 01" "10 01" "9 01"
## [146] "9 01" "8 01" "7 01" "7 01" "6 01"
## [151] "5 01" "5 01" "4 01" "4 01" "3 01"
## [156] "3 01" "2 01" "1 01" "31 12 2018" "30 12 2018"
## [161] "29 12 2018" "28 12 2018" "28 12 2018" "27 12 2018" "27 12 2018"
## [166] "26 12 2018" "24 12 2018" "24 12 2018" "24 12 2018" "23 12 2018"
## [171] "22 12 2018" "22 12 2018" "22 12 2018" "21 12 2018" "21 12 2018"
## [176] "20 12 2018" "19 12 2018" "19 12 2018" "19 12 2018" "18 12 2018"
## [181] "18 12 2018" "18 12 2018" "17 12 2018" "17 12 2018" "16 12 2018"
## [186] "16 12 2018" "15 12 2018" "15 12 2018" "14 12 2018" "14 12 2018"
## [191] "13 12 2018" "12 12 2018" "12 12 2018" "11 12 2018" "11 12 2018"
## [196] "10 12 2018" "10 12 2018" "9 12 2018" "8 12 2018" "8 12 2018"
## [201] "7 12 2018" "6 12 2018" "5 12 2018" "5 12 2018" "4 12 2018"
## [206] "3 12 2018" "3 12 2018" "2 12 2018" "2 12 2018" "1 12 2018"
## [211] "1 12 2018" "1 12 2018" "1 12 2018" "30 11 2018" "29 11 2018"
## [216] "28 11 2018" "27 11 2018" "26 11 2018" "26 11 2018" "25 11 2018"
## [221] "25 11 2018" "25 11 2018" "24 11 2018" "23 11 2018" "23 11 2018"
## [226] "23 11 2018" "22 11 2018" "21 11 2018" "21 11 2018" "20 11 2018"
## [231] "19 11 2018" "19 11 2018" "19 11 2018" "16 11 2018" "15 11 2018"
## [236] "15 11 2018" "15 11 2018" "14 11 2018" "14 11 2018" "13 11 2018"
## [241] "12 11 2018" "12 11 2018" "12 11 2018" "9 11 2018" "8 11 2018"
## [246] "8 11 2018" "7 11 2018" "6 11 2018" "5 11 2018" "5 11 2018"
## [251] "5 11 2018" "2 11 2018" "2 11 2018" "1 11 2018" "31 10 2018"
## [256] "31 10 2018" "30 10 2018" "29 10 2018" "28 10 2018" "28 10 2018"
## [261] "27 10 2018" "26 10 2018" "25 10 2018" "24 10 2018" "24 10 2018"
## [266] "24 10 2018" "23 10 2018" "23 10 2018" "22 10 2018" "22 10 2018"
## [271] "22 10 2018" "22 10 2018" "22 10 2018" "21 10 2018" "20 10 2018"
## [276] "19 10 2018" "18 10 2018" "17 10 2018" "16 10 2018" "15 10 2018"
## [281] "14 10 2018" "13 10 2018" "12 10 2018" "11 10 2018" "10 10 2018"
## [286] "10 10 2018" "9 10 2018" "9 10 2018" "9 10 2018" "9 10 2018"
## [291] "9 10 2018" "9 10 2018" "9 10 2018" "9 10 2018" "8 10 2018"
## [296] "7 10 2018" "6 10 2018" "5 10 2018" "4 10 2018" "3 10 2018"
## [301] "2 10 2018" "1 10 2018" "30 09 2018" "29 09 2018" "29 09 2018"
## [306] "28 09 2018" "27 09 2018" "25 09 2018" "22 09 2018" "21 09 2018"
## [311] "20 09 2018" "19 09 2018" "18 09 2018" "17 09 2018" "15 09 2018"
## [316] "14 09 2018" "13 09 2018" "12 09 2018" "12 09 2018" "11 09 2018"
# Nuevos datos en fecha
tweets_amlo$date <- str_replace_all(string = tweets_amlo$date, pattern = meses, replacement = meses)
# Detectamos los espacios en blanco y los reemplazamos con guiones
esp_bco <- "\\s"
# Vemos si cachamos lo que queremos
str_view(string = tweets_amlo$date[1:10], pattern = esp_bco)
# Lo mismo, pero con TODOS los espacios
str_view_all(string = tweets_amlo$date[1:10], pattern = esp_bco)
# Reemplazamos los espacios en blanco con guiones
tweets_amlo$date <- str_replace_all(string = tweets_amlo$date, pattern = esp_bco, replacement = "-")
# Detectamos el tamanio de los caracteres, y le pegamos el año 2019 a los que son del 2019
str_length(tweets_amlo$date) %>% niveles()
## [1] "4" "5" "9" "10"
tweets_amlo$date <- ifelse(str_length(tweets_amlo$date) < 6, paste0(tweets_amlo$date, "-2019"), tweets_amlo$date)
# Convertimos a fecha !!!!
tweets_amlo$fecha <- as.Date(tweets_amlo$date, format = "%d-%m-%Y")
class(tweets_amlo$fecha)
## [1] "Date"
# Podemos filtrar cosas
tweets_amlo_presidente <- tweets_amlo %>%
filter(fecha > "2018-12-01")
# Podemos hacer graficas
frecuencia <- tweets_amlo %>%
group_by(fecha) %>%
summarise(freq = n())
plot <- ggplot(data = frecuencia, aes(x = fecha, y = freq)) + geom_bar(stat = "identity")
plotly::ggplotly(plot)
stringr para detectar cosas en el texto.Vamos a explorar que tan frecuente utiliza la cuenta de AMLO ciertas palabras.
# Creamos un WordCloud Rapido
create_wordcloud(data = tweets_amlo_presidente$text)
# Detectamos cual es la prensa matutina
pat_mat <- "matutina"
# Mostramos los tweets donde aparece la palabra "matutina"
tweets_amlo_presidente$text[str_detect(tweets_amlo_presidente$text, pattern = pat_mat)]
## [1] "Ya empezamos a escribir el prólogo de la gran obra de transformación nacional. Conferencia matutina."
## [2] "Se puede gobernar para el pueblo y con el pueblo. Conferencia de prensa matutina desde Palacio Nacional."
## [3] "Que el pueblo siempre tenga las riendas del poder en sus manos. Conferencia de prensa matutina."
## [4] "Seguiremos construyendo en armonía la Cuarta Transformación de la vida pública de México. Conferencia matutina."
## [5] "Convertiremos a México en una potencia económica con dimensión social. Conferencia matutina."
## [6] "No fue casual que, durante mucho tiempo, la corrupción no se considerara delito grave. Conferencia matutina."
## [7] "Promovemos el diálogo abierto y circular. Conferencia de prensa matutina."
## [8] "Ya están disponibles en Spotify nuestras conferencias de prensa matutinas."
## [9] "Conferencia de prensa matutina desde Palacio Nacional."
## [10] "La transparencia es la regla de oro de la democracia. Conferencia de prensa matutina."
## [11] "La información es democracia. Conferencia de prensa matutina desde Palacio Nacional."
## [12] "Queremos la modernidad, pero forjada desde abajo y para todos. Conferencia de prensa matutina."
## [13] "La ciudadanía tendrá la última palabra. Conferencia matutina en vivo."
## [14] "Conferencia de prensa matutina, desde Monterrey, Nuevo León."
## [15] "El funcionario debe aprender a vivir en la justa medianía. Conferencia matutina en vivo."
## [16] "El poder solo tiene sentido cuando se pone al servicio de los demás. Conferencia matutina en vivo."
## [17] "La educación no es un privilegio, es un derecho. Conferencia de prensa matutina."
## [18] NA
## [19] "Gobernamos con entrega total a la causa pública. Conferencia matutina desde Palacio Nacional."
## [20] "Diálogo circular con representantes de los medios de comunicación. Conferencia matutina en vivo."
## [21] "Conferencia matutina en vivo desde Palacio Nacional."
## [22] "Conferencia de prensa matutina desde Palacio Nacional."
## [23] "Conferencia de prensa matutina en vivo desde Palacio Nacional."
## [24] "Seguimos respondiendo las preguntas de los medios de comunicación. Conferencia matutina en vivo."
## [25] "La prensa se regula con la prensa. Conferencia matutina desde Palacio Nacional."
## [26] "Continuamos este ejercicio de libertad de expresión. Conferencia matutina en vivo."
## [27] "Ayúdennos a limpiar a México. Conferencia de prensa matutina desde Palacio Nacional."
## [28] "Estamos haciendo valer el derecho a la información. Conferencia matutina en vivo."
## [29] "Contra la corrupción, ni un paso atrás. Conferencia matutina en vivo."
## [30] "Si se informa con objetividad y profesionalismo se evita el rumor tendencioso. Conferencia matutina"
## [31] "El cambio es un hecho. Conferencia de prensa matutina desde Palacio Nacional"
## [32] "Cero corrupción, cero impunidad. Conferencia de prensa matutina desde Palacio Nacional."
## [33] "La verdad nos hará libres. Conferencia matutina desde Palacio Nacional"
## [34] "Cuentas claras y chocolate espeso. Conferencia de prensa matutina"
## [35] "La transformación va. Conferencia de prensa matutina"
## [36] "La verdad siempre se abre paso. Conferencia matutina desde Palacio Nacional"
## [37] "Información es poder público. Conferencia de prensa matutina"
## [38] "Conferencia matutina en vivo"
## [39] "Conferencia matutina en vivo"
## [40] "Conferencia matutina en vivo"
## [41] "Conferencia de prensa matutina"
## [42] "Conferencia de prensa matutina desde Palacio Nacional"
## [43] "Primera conferencia de prensa matutina desde Palacio Nacional"
Como podemos ver, la palabra matutina nos lleva a resultados donde el presidente anuncia sus conferencias matutinas. Vamos a eliminar estos tramos de los tweets para obtener información mas puntual acerca de lo que dice el presidente mediante una regex simple.
# Ejemplo 1
pat_conferencia <- "Conferencia matutina en vivo.|Conferencia matutina desde Palacio Nacional|Conferencia de prensa matutina"
# ... y asi hacerle con todos...
# Ejemplo 2 - Mas general!
# pat_conferencia2 <- optional("." %R% SPC) %R% "Conferencia" %R% SPC %R% capture(one_or_more(WRD %R% optional(",") %R% SPC)) %R% optional(".") %R% END
capture(one_or_more(WRD))
## <regex> ([\w]+)
# pasos de generacion
#1. Capturamos conferencia: "Conferencia"
#2. Con espacio posterior: "Conferencia\\s"
#3. Capturando una o mas palabras seguidas de un espacio "([\\w])+" "([\\w[,]?\\s]+)", quedando Conferencia\\s([\\w\\s]+)
#4. Capturando puntos opcionales al final, con [.]?, quedando Conferencia\\s([\\w[,]?\\s]+)[.]?
#5. Capturando el final de la oracion, con $, quedando Conferencia\\s([\\w\\s]+)[.]?$
#6. Capturando al inicio que empiece opcionalmente con punto o con espacio, con [.\\s]?, quedando [.\\s]?Conferencia\\s([\\w\\s]+)[.]?$
#7. Capturando ese ultimo caso volando, con una comma opcional con [,]?, quedando finalmente: "[.\\s]?Conferencia\\s([\\w[,]?\\s]+)[.]?$"
# Patron final para capturar conferencia y texto posterior...
pat_conferencia2 <- "[.\\s]?Conferencia\\s([\\w[,]?\\s]+)[.]?$"
# La probamos
str_view_all(tweets_amlo_presidente$text[str_detect(tweets_amlo_presidente$text, pattern = pat_mat)],
pattern = pat_conferencia2)
# La usamos para eliminar cosas, y generamos una nueva variable de texto limpia
tweets_amlo_presidente$text <- str_remove_all(string = tweets_amlo_presidente$text,
pattern = pat_conferencia2)
# La visualizamos
tweets_amlo_presidente$text[1:20]
## [1] "Reinstalación del Sistema Nacional de Búsqueda, desde Palacio Nacional."
## [2] "Inauguración del estadio de béisbol 'Alfredo Harp Helú', desde Ciudad de México."
## [3] "Programa de mejoramiento urbano, desde Acapulco, Guerrero."
## [4] "Clausura de la 82 Convención Bancaria, desde Acapulco, Guerrero."
## [5] "Ya empezamos a escribir el prólogo de la gran obra de transformación nacional."
## [6] "Aniversario 213 del Natalicio de Benito Juárez, desde Guelatao, Oaxaca."
## [7] "Se puede gobernar para el pueblo y con el pueblo."
## [8] "Inicio de Colecta Nacional Cruz Roja Mexicana 2019, desde Palacio Nacional."
## [9] "El gobierno sabrá estar a la altura de las circunstancias."
## [10] "Que el pueblo siempre tenga las riendas del poder en sus manos."
## [11] "Aniversario 81º de la Expropiación Petrolera, desde Tula, Hidalgo."
## [12] "Seguiremos construyendo en armonía la Cuarta Transformación de la vida pública de México."
## [13] "Foro Nacional para la elaboración del Plan Nacional de Desarrollo."
## [14] "Convertiremos a México en una potencia económica con dimensión social."
## [15] "Se impulsa el hábito del debate y se fortalece la pluralidad democrática."
## [16] "Les comparto la entrevista con Alejandro Villalvazo e Iñaki Manero, de Grupo ACIR. http://bit.ly/2O4JOMK"
## [17] "No fue casual que, durante mucho tiempo, la corrupción no se considerara delito grave."
## [18] "Platicamos con el presidente electo de El Salvador, Nayib Bukele, sobre la cooperación para el desarrollo como opción para atemperar el fenómeno migratorio."
## [19] "Recibí en Palacio Nacional a integrantes del Comité Judío Americano. Tratamos temas de cooperación económica y amistad entre nuestros pueblos."
## [20] "Promovemos el diálogo abierto y circular."
# Como le harian para quitar los enlaces de https://youtu.be/MhElBSJ3meg ??
create_wordcloud(data = tweets_amlo_presidente$text)
Como podemos ver en la nube de palabras, ya no se menciona tanto la palabra conferencia, ni prensa, ni demás temas de comunicación.