En este informe, exploramos el mensaje a la Nación del expresidente Martín Vizcarra, pronunciado el 28 de julio de 2019. El análisis se centra en la frecuencia de palabras, el contenido emocional del discurso y la representación visual de sus principales temas.
El objetivo es descubrir qué palabras y sentimientos dominaron el discurso y cómo estas reflejan las prioridades del gobierno de turno.
library(pacman)
p_load(tidyverse, tidytext, tm, wordcloud2, pdftools,
patchwork, widyr, dplyr, magrittr, gganimate, stopwords, readxl, forcats)
discurso1 <- pdf_text("mensaje-2019-01-vizcarra.pdf") %>%
paste(collapse = " ")
nchar(discurso1)
## [1] 70656
discurso1 <- discurso1 %>%
str_remove_all("MARTÍN VIZCARRA CORNEJO|MENSAJE A LA NACIÓN|PRESIDENTE DE LA REPÚBLICA") %>%
str_remove_all("\\d+")
write_lines(discurso1, "Discurso_Vizcarra_2019.txt")
discurso1 <- scan("Discurso_Vizcarra_2019.txt", encoding = "UTF-8", what = "char", sep = "\n")
discurso1 <- tibble(discurso1) %>%
unnest_tokens(Token, discurso1) %>%
mutate(Token = removeNumbers(Token))
stopwords_es_1 <- read_excel("CustomStopWords.xlsx")
names(stopwords_es_1) <- c("Token", "Fuente")
stopwords_es <- rbind(stopwords_es_1, tibble(Token = "", Fuente = "Manual"))
stopwords_es <- stopwords_es[!duplicated(stopwords_es$Token), ]
discurso1 <- discurso1 %>%
anti_join(stopwords_es) %>%
filter(Token != "república", Token != ",") %>%
mutate(Token = str_replace_all(Token, c("perú" = "país",
"peruanas" = "peruanos",
"señoras" = "señores",
"señor" = "señores",
"señoreses" = "señores")))
frecuencias_top15 <- discurso1 %>%
count(Token, sort = TRUE) %>%
top_n(15, n)
frecuencias_top15
## # A tibble: 15 × 2
## Token n
## <chr> <int>
## 1 país 103
## 2 año 64
## 3 millones 44
## 4 nacional 41
## 5 peruanos 41
## 6 mil 36
## 7 gobierno 34
## 8 salud 28
## 9 ley 26
## 10 soles 26
## 11 regionales 25
## 12 proyectos 23
## 13 crecimiento 22
## 14 desarrollo 22
## 15 política 21
grafico_animado <- frecuencias_top15 %>%
mutate(frame = row_number()) %>%
ggplot(aes(x = fct_reorder(Token, n), y = n, fill = Token)) +
geom_col() +
coord_flip() +
labs(title = "Top 15 palabras más frecuentes",
subtitle = "Discurso Presidencial - 28 julio 2019",
x = "Palabra", y = "Frecuencia") +
theme_minimal() +
theme(legend.position = "none") +
transition_states(frame, transition_length = 2, state_length = 2) +
enter_fade() +
exit_fade()
animate(grafico_animado, nframes = 60, fps = 2)
Comentario: El gráfico muestra que las palabras más frecuentes fueron:
gobierno, peruanos, proyectos, país, democracia, desarrollo, justica , servicio, entre otras.
Estas reflejan los temas centrales del discurso: fortalecimiento del gobierno, desarrollo, y servicio público.
frecuencias_palabras <- discurso1 %>%
count(Token, sort = TRUE)
wordcloud2(data = frecuencias_palabras,
size = 0.4,
color = "random-light",
backgroundColor = "black",
shape = "circle")
sentimientos <- read.delim("sentimientos_2.txt") %>%
as_tibble() %>%
distinct()
table(sentimientos$sentimiento)
##
## alegría asombro confianza disgusto ira miedo
## 618 476 1122 929 1071 1272
## negativo positivo premonición tristeza
## 2986 2141 769 1011
discurso_sentimiento1 <- discurso1 %>%
inner_join(sentimientos, by = c("Token" = "palabra"))
discurso_sentimiento1 %>%
count(sentimiento) %>%
ggplot(aes(x = fct_reorder(sentimiento, n), y = n, fill = sentimiento)) +
geom_col(show.legend = FALSE) +
labs(title = "Frecuencia de sentimientos en el discurso",
subtitle = "Mensaje presidencial 28 julio 2019",
x = "Sentimientos", y = "Frecuencia") +
coord_flip() +
theme_bw()
top3_palabras <- discurso_sentimiento1 %>%
count(Token, sentimiento, sort = TRUE) %>%
group_by(sentimiento) %>%
slice_max(n, n = 3)
ggplot(top3_palabras, aes(x = fct_reorder(Token, n), y = n, fill = sentimiento)) +
geom_col(show.legend = FALSE) +
facet_wrap(~ sentimiento, scales = "free", ncol = 3) +
labs(title = "Top 3 palabras por sentimiento",
subtitle = "Discurso presidencial Vizcarra 2019",
x = "Palabra", y = "Frecuencia") +
theme_bw() +
coord_flip()
Interpretación final: El análisis de sentimientos muestra un predominio de emociones como confianza, alegría, positivo y anticipación. Esto sugiere que el discurso buscó transmitir esperanza y compromiso con el cambio, resaltando un tono positivo general.
El análisis del discurso presidencial del 28 de julio de 2019 mediante técnicas de minería de texto nos permite observar:
Este tipo de análisis automatizado ofrece una mirada clara y replicable sobre los temas centrales y el tono emocional utilizado en discursos políticos.