Sobre los Tweets en el Paro Nacional, segunda parte
Continuando con la discusión del artículo anterior se realizó un nuevo análisis, considerando ahora seis hashtags populares durante el paro nacional de octubre pasado en Ecuador. Los tweets fueron obtenidos utilizando un programa java con menos capacidad que la API oficial y gratuita de Twitter, pero que permite recuperar publicaciones de cualquier época.
library(dplyr)
HashTags = c("DialogoPorLaPaz", "EcuadorPaisDePaz", "ElParoNoPara",
"ElParoSigue", "ParoNacionalEC", "ParoNacionalEcuador")
df_all = purrr::map(HashTags, readHashTag) %>% # la función readHashTag()
purrr::reduce(bind_rows) %>% # fue definida al final
mutate_at("ht", forcats::fct_infreq) # del artículo anterior
Con este código se ha importado y unido los archivos de valores separados por comas -uno por cada hashtag- generados por el programa java. Un paso importante fue renombrar (en este caso, según el formato “output_HashTag.csv”) cada archivo generado por el programa; caso contrario, el archivo sería reescrito. Se obtuvieron 1399 tweets de 618 usuarios diferentes, con las siguientes frecuencias:
library(ggplot2)
my_plot = ggplot() + coord_flip() + theme_minimal() +
theme(axis.title = element_blank(), legend.position = "none")
my_plot + geom_bar(aes(ht, fill = ht), df_all)
En concordancia con lo expuesto en el artículo anterior, #EcuadorPaisDePaz se utilizó con
mayor frecuencia comparado con otros hashtags que, en cambio, demostraban aprobación del
paro. Solo #ParoNacionalEC fue utilizado en más tweets; no obstante, la popularidad de cada
hashtag es tal vez un aspecto más revelador que la frecuencia de uso. En este sentido, los
favoritos y los retweets (RTs) constituyen medidas de la popularidad. La distribución de
ambas variables -diferenciando según hashtag- se visualizaría bien en boxplots, pero
para esta representación primero se debe “alargar” los datos vía tidyr::pivot_longer()
.
library(tidyr)
df_long = pivot_longer(df_all, c(favorites, retweets))
my_plot + geom_boxplot(aes(ht, value, fill = ht), df_long) +
facet_wrap(~name) + scale_y_log10()
Parece ser que la distribución de favoritos no varía considerablemente entre diferentes hashtags, mientras que en RTs la mayor diferencia existe entre #DialogoPorLaPaz y #ParoNacionalEC; este último sería el hashtag más popular. Hay que notar, sin embargo, los valores atípicos de favoritos y RTs para #EcuadorPaisDePaz, los cuales representarían unas pocas publicaciones que recibieron mucha atención. Si este es el caso, es algo lamentable pues significa que el discurso gubernamental tuvo cierto impacto. Para observar los datos con más detenimiento, la siguiente tabla presenta la razón de contribución (promedio de tweets por usuario) y un resumen de la distribución de RTs.
Hashtag | Tweets | Usuarios | Razón | RTsMedio | RTsMáximo | RTsTotal |
---|---|---|---|---|---|---|
#ParoNacionalEC | 429 | 223 | 1.92 | 306.0 | 3627 | 131275 |
#EcuadorPaisDePaz | 367 | 158 | 2.32 | 259.2 | 8592 | 95129 |
#ParoNacionalEcuador | 244 | 149 | 1.64 | 283.5 | 5426 | 69183 |
#ElParoSigue | 186 | 106 | 1.75 | 278.7 | 2133 | 51830 |
#ElParoNoPara | 132 | 91 | 1.45 | 263.2 | 2473 | 34743 |
#DialogoPorLaPaz | 86 | 61 | 1.41 | 102.9 | 627 | 8848 |
Nuevamente se halló que el uso de #EcuadorPaisDePaz fue el más parecido al spam, con más tweets y menos usuarios. Mientras que #DialogoPorLaPaz tuvo la razón de contribución más baja, es decir que fue publicado por más usuarios diferentes; aunque también es el hashtag menos utilizado, así que resulta ambiguo discernir con quiénes se relacionó mayoritariamente. Por otra parte, según el promedio y el total de RTs, es claro que #ParoNacionalEC tuvo el mayor alcance; se observó que los tweets con este hashtag servían para reportar acciones de los sectores movilizados, y la represión en contra de ellos. Este es el tweet con #ParoNacionalEC que recibió más RTs:
Lenin decreta toque de queda pero al pueblo ecuatoriano nadie lo calla! Cacerolazo en protesta de la represión policial, el toque de queda y por aquellos que luchan en contra de un gobierno asesino que fomenta la desigualdad social. #ToqueDeQueda #ParoNacionalEC #Cacerolazo pic.twitter.com/ViQgOMTOZJ
— Ani Aguirre (@AniAguirre10) October 13, 2019
El discurso gubernamental, pretendiendo minimizar una protesta cuyas demandas fueron justas, recibió más RTs en este tweet del presidente:
El saqueo y vandalismo no son manifestaciones ciudadanas.
— Lenín Moreno (@Lenin) October 8, 2019
Demuestran la intención política de Correa, Maduro y de los corruptos que deben responder a la justicia y al país por desestabilizar este Gobierno democrático. #EcuadorPaísDePaz #DecididosACrecer pic.twitter.com/esyJv9RK5n
A continuación se presta atención al hecho de que, unas pocas veces, los hashtags
estudiados fueron utilizados en combinación. Esto solo sucedió en 44 tweets, de manera
que no se aporta información adicional al análisis; con todo, la combinación #ParoNacionalEcuador
y #ElParoSigue ocurrió once veces y fue la más frecuente. La manera de averiguar esto es
“ensanchar” los datos, esta vez a través de tidyr::pivot_wider()
, y calcular todas las
combinaciones de hashtags posibles.
df_wide = mutate(select(df_all, id, user, name = ht), value = "x") %>%
pivot_wider(values_fill = " ") %>%
rename_with(stringr::str_remove_all, -c(id, user), "[[:lower:]]") %>%
group_by(across(-c(id, user))) %>%
summarise(Tweets = n_distinct(id), Usuarios = n_distinct(user))
En la siguiente tabla los hashtags son representados con sus iniciales; se contó el número de tweets y de usuarios para cada combinación.
#DPLP | #EPDP | #EPNP | #EPS | #PNEC | #PNE | Tweets | Usuarios |
---|---|---|---|---|---|---|---|
x | x | 6 | 6 | ||||
x | x | 14 | 11 | ||||
x | x | 4 | 4 | ||||
x | x | x | 1 | 1 | |||
x | x | 6 | 6 | ||||
x | x | 6 | 6 | ||||
x | x | 4 | 2 | ||||
x | x | 1 | 1 | ||||
x | x | 2 | 1 |
Con los datos obtenidos también es posible visualizar el tiempo de publicación de los tweets. El siguiente gráfico fue generado de manera que cada columna encierre seis horas. Los tiempos son congruentes con la aparición, posterior al inicio del paro, de la propaganda #EcuadorPaísDePaz; también son congruentes con la expectativa del #DialogoPorLaPaz, refiriéndose a la reunión del 13 de octubre donde se acordó derogar las medidas económicas, terminando efectivamente el paro.
df_time = mutate(df_all, across(time, lubridate::round_date, "6 hours"))
my_plot + geom_bar(aes(time, fill = ht), df_time) +
scale_y_continuous(breaks = 20*0:5) + coord_cartesian() +
theme(legend.title = element_blank(), legend.position = "bottom")
Finalmente, es posible averiguar quiénes utilizaron en mayor cantidad cada hashtag. En este gráfico se recogen los usuarios que publicaron diez o más tweets con cada hashtag; como era de esperar, fue en las cuentas del ejército, la policía y el presidente donde abundaron los mensajes de paz, al mismo tiempo que ellos se convertían en los responsables de reprimir violentamente a los manifestantes. En contraposición, se evidenciaron los mensajes de respaldo a las movilizaciones desde CONAIE y KolectiVOZ, y de reportaje desde Pichincha Comunicaciones y Wambra.