Métricas de las Sesiones Especiales en Youtube

Análisis y visualización de datos de las intervenciones en diputados

tutorial
codigo
apuntes
visualizaciones
Author

Pedro Damian Orden

Published

February 20, 2024

Propósito

En este tutorial, nos sumergiremos en el análisis de datos digitales para explorar cómo los debates parlamentarios en Argentina circulan e impactan en la plataforma de YouTube. Con la creciente migración del debate público al ciberespacio, surge la necesidad de indagar cómo estas interacciones en línea constelan con la opinión pública y la dinámica política contemporánea.

Desde una perspectiva aplicada, durante esta experiencia abierta nos enfocaremos específicamente en analizar por la vía de la data el debate de la Ley Bases y Punto de Partida, también conocida como Ley Ómnibus, llevado a cabo por la Cámara de Diputados durante sesiones extraordinarias en enero y febrero de 2024. Utilizaremos para ello métricas de una playlist de YouTube que recopila este debate y los articularemos con fuentes abiertas de los diputados para preguntarnos cómo la esfera política interactúa con las audiencias digitales, utilizando técnicas de análisis y visualización de datos.

Objetivos de la experiencia

Nuestro enfoque estará puesto en capturar información de los debates completos sobre la ley bases en YouTube y las intervenciones particulares de los diputados a lo largo de las sesiones especiales de enero y febrero. Luego, enriqueceremos y retiquetaremos estos datos utilizando información abierta proporcionada por el Estado Nacional para contar con las posiciones y referencias de cada diputado.

En esta primera exploración, nos vamos a enfocar en las métricas que nos devuelven los videos, para tomar una dimensión de la frecuencia de las intervenciones de cada diputado en el debate público, su duración, la pertenencia a un bloque político en particular y la recepción de la audiencia digital del canal de Diputados. Ello en clave de las variables de contenido views y likes.

Es importante destacar que nos concentraremos en el proceso de debate de la ley que fue aprobada en general, dejando de lado aquellos registros relacionados con la la votación de aspectos específicos del articulado que coadyuvaron a que la legislación finalmente no se promulgara.

Finalmente, es dable destacar que la premisa que motiva este documento electrónico, junto con los análisis previamente realizados en plataformas como Instagram, es contribuir con materiales aplicados al desarrollo de un sistema automatizado de procesamiento y análisis complejo de datos socio políticos, en colaboración con los laboratorios abiertos de opinión pública del Núcleo de Innovación Social (NIS).

Los datos

Vamos a trabajar con dos conjuntos de datos estructuralmente distintos, una playlist de Youtube y un dataset de Diputados, que matchearemos para darle cause a nuestra exploración basada en evidencia.

La playlist de youtube

El primer conjunto de datos que utilizaremos es datos_playlist , un export csv de una consulta en python a la API de Youtube que contiene información de la playlist del canal de la Cámara de Diputados de la Nación. La lista presenta de manera acabada los debates e intervenciones en sesiones extraordinarias que tuvieron lugar el 31 de enero y el 1 y 2 de febrero en el Parlamento, con motivo de la votación de la Ley Bases y Punto de Partida.

Code
library(tidyverse)

datos_playlist <- read_csv("https://raw.githubusercontent.com/pedroorden/playlistbases/main/datos_playlist.csv")

glimpse(datos_playlist)
Rows: 300
Columns: 15
$ video_id      <chr> "k-nX5MrBIZM", "G-Wi1xT3Ee0", "5bQVYM8eNBs", "JYZKILCQ_Z…
$ title         <chr> "🇦🇷 SESIÓN COMPLETA: 6 de febrero 2024 - Diputados Argen…
$ publish_date  <dttm> 2024-02-06 22:34:22, 2024-02-02 21:58:40, 2024-02-02 04…
$ description   <chr> "CUARTA JORNADA DE DEBATE:\n◽ - OD 1. 𝗟𝗲𝘆 𝗱𝗲 𝗕𝗮𝘀𝗲𝘀 𝘆 𝗣𝘂…
$ channel_id    <chr> "UC5KfW9_wv4tqbIPgY8tMG-w", "UC5KfW9_wv4tqbIPgY8tMG-w", …
$ tags          <chr> "['hcdn', 'camara de diputados', 'ley ómnibus', 'camara …
$ category_id   <dbl> 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, …
$ duration      <chr> "PT4H54M43S", "PT7H47M20S", "PT34M40S", "PT11H54M55S", "…
$ definition    <chr> "hd", "hd", "hd", "hd", "hd", "hd", "hd", "hd", "hd", "h…
$ dimension     <dbl> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,…
$ view_count    <dbl> 335139, 514604, 8639, 574159, 577816, 455, 660, 428, 304…
$ like_count    <dbl> 3774, 5825, 93, 6168, 7411, 21, 35, 4, 6, 0, 10, 7, 6, 1…
$ dislike_count <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ comment_count <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ live_viewers  <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…

Lo que obtenemos es en general el detalle de cada video con su fecha de subida, duración y otras métricas de contenido.

Utilizaremos aquí la función ggpairs() del paquete GGally para crear una matriz de dispersión que nos ayude visualizar las relaciones entre las diferentes métricas numéricas de los videos en nuestra lista de reproducción de YouTube.

En este caso, a decir verdad, más que las correlaciones, nos importará ver de forma exploratoria qué variables numéricas nos aportan algo información.

Code
library(GGally)

metricas<-datos_playlist %>% 
  select(view_count:live_viewers)

ggpairs(metricas)

Observamos 2 métricas clave: view_count (cantidad de vistas) y like_count (cantidad de “Me gusta”). Ambas variables aportan información sobre la recepción y la popularidad de los videos en la playlist.

En paralelo, deberemos tener en cuenta que otras columnas, como los “dislikes” y los comentarios, no están disponibles debido a restricciones de la API o del canal, o simplemente no se registraron en los datos. Aunque estas variables podrían agregar más profundidad al análisis, vamos movernos con la información disponible.

Preguntas para conocer nuestra información

Al explorar bases utilizando herramientas de programación, es clave hacerse algunas preguntas sobre la estructura de las mismos y sus características generales. Por ejemplo, los contenidos duran lo mismo todos? Algunos son mas largos que otros?

Para contestar esta pregunta primero debemos transformar la columna duration, que recoge el tiempo que dura cada video, pero tal como está no resulta imperativo ya que se encuentra en un formato de fecha ISO 8601 y se registra como texto. Tomemos el caso del video con id G-Wi1xT3Ee0 que tiene una duración PT11H54M55S donde: “PT” indica que es una duración de tiempo. “11H” significa 11 horas. “54M” significa 54 minutos. “55S” significa 55 segundos.

Utilizando lubridate, vamos a transformar la columna duration en formato de minutos.

Code
datos_playlist <- datos_playlist %>% 
  mutate(duracion = round(as.numeric(lubridate::duration(duration)) / 60, 1))

Aquí La función mutate() de la librería dplyr se emplea para agregar una nueva columna llamada duracion. Esta columna se calcula convirtiendo las cadenas de tiempo ISO 8601 en objetos de tipo “duration”. Luego, dividimos esta duración por 60 para obtener la medida en minutos. Este proceso, nos va a permitir analizar y visualizar fácilmente la duración de cada elemento en la lista de reproducción. Vamos por a eso.

Cuales fueron entonces los videos mas largos del debate?

Code
#imprimimos los 10 videos de  mayor duración
datos_playlist %>% 
  arrange(desc(duracion)) %>% 
  select(title, duracion) %>% 
  head(10) %>% 
  kableExtra::kable()
title duracion
🇦🇷 SESIÓN ESPECIAL: 1 de febrero 2024 - Diputados Argentina | Ley de Bases | día 2 714.9
🇦🇷 SESIÓN ESPECIAL: 31 de enero 2024 - Diputados Argentina | Ley de Bases | día 1 683.5
🇦🇷 SESIÓN ESPECIAL: 2 de febrero 2024 - Diputados Argentina | Ley de Bases | día 3 467.3
🇦🇷 SESIÓN COMPLETA: 6 de febrero 2024 - Diputados Argentina | Ley de Bases | VUELTA A COMISIÓN 294.7
▶ 2da. Parte 🇦🇷 SESIÓN ESPECIAL: 1 de febrero 2024 - Diputados Argentina | Ley de Bases | día 2 34.7
Diputado Martínez, Germán - Continuación de Sesión - 02-02-2024 22.0
Diputado Pichetto, Miguel Ángel - Continuación de Sesión - 02-02-2024 18.6
Diputado Moreau, Leopoldo - Sesión 31-01-2024 16.8
Diputado Heller, Carlos - Sesión 31-01-2024 14.8
Diputado De Loredo, Rodrigo - Continuación de Sesión - 02-02-2024 12.4

Los videos más largos de la lista son aquellos que registran los debates completos, siendo la sesión especial del primero de febrero el de mayor duración.

Code
library(vembedr)
embed_url("https://www.youtube.com/watch?v=JYZKILCQ_Zw&ab_channel=HonorableC%C3%A1maradeDiputadosdelaNaci%C3%B3n") %>%
  use_bs_responsive() %>% 
  use_rounded() %>% 
  use_align("center")

En cuanto intervenciones, las del diputado Germán Martinez el día 2-2 fue la de mayor extensión.

Code
embed_url("https://www.youtube.com/watch?v=0tpU432euu4&ab_channel=HonorableC%C3%A1maradeDiputadosdelaNaci%C3%B3n") %>%
  use_bs_responsive() %>% 
  use_rounded() %>% 
  use_align("center")

Siguiendo en esta línea, cuales son los videos más vistos?

Code
datos_playlist %>% 
  arrange(desc(view_count)) %>% 
  head(10) %>% 
  select(title, view_count) %>% 
  kableExtra::kable()
title view_count
🇦🇷 SESIÓN ESPECIAL: 31 de enero 2024 - Diputados Argentina | Ley de Bases | día 1 577816
🇦🇷 SESIÓN ESPECIAL: 1 de febrero 2024 - Diputados Argentina | Ley de Bases | día 2 574159
🇦🇷 SESIÓN ESPECIAL: 2 de febrero 2024 - Diputados Argentina | Ley de Bases | día 3 514604
🇦🇷 SESIÓN COMPLETA: 6 de febrero 2024 - Diputados Argentina | Ley de Bases | VUELTA A COMISIÓN 335139
Diputado López Murphy, Ricardo - Sesión 31-01-2024 73694
Diputado Manes, Facundo - Sesión 31-01-2024 50262
Diputado Pichetto, Miguel Ángel - Continuación de Sesión - 02-02-2024 45382
Diputada Lospennato, Silvia - 2da intervención - Continuación de Sesión - 01-02-2024 42575
Diputado Kirchner, Máximo Carlos - Continuación de Sesión - 01-02-2024 - CP 41782
Diputada Orozco, Emilia - Continuación de Sesión - 02-02-2024 34591

Los videos con mayor cantidad de vistas son también lógicamente los de las sesiones especiales completas, destacando entre las intervenciones individuales las de Ricardo Lopez Murphy y Facundo Manes en la primera jornada, y la de Miguel Angel Pichetto en la segunda.

Code
embed_url("https://www.youtube.com/watch?v=OB30iKjrULQ&ab_channel=HonorableC%C3%A1maradeDiputadosdelaNaci%C3%B3n") %>%
  use_bs_responsive() %>% 
  use_rounded() %>% 
  use_align("center")

En esta línea, qué videos serían los más likeados?

Code
datos_playlist %>% 
  arrange(desc(like_count)) %>% 
  head(10) %>% 
  select(title, like_count) %>% 
    kableExtra::kable()
title like_count
🇦🇷 SESIÓN ESPECIAL: 31 de enero 2024 - Diputados Argentina | Ley de Bases | día 1 7411
🇦🇷 SESIÓN ESPECIAL: 1 de febrero 2024 - Diputados Argentina | Ley de Bases | día 2 6168
🇦🇷 SESIÓN ESPECIAL: 2 de febrero 2024 - Diputados Argentina | Ley de Bases | día 3 5825
🇦🇷 SESIÓN COMPLETA: 6 de febrero 2024 - Diputados Argentina | Ley de Bases | VUELTA A COMISIÓN 3774
Diputado Manes, Facundo - Sesión 31-01-2024 1517
Diputado López Murphy, Ricardo - Sesión 31-01-2024 1446
Diputada Orozco, Emilia - Continuación de Sesión - 02-02-2024 1245
Diputada Lospennato, Silvia - 2da intervención - Continuación de Sesión - 01-02-2024 1159
🟩 VOTACIÓN EN GENERAL: Ley de Bases y Puntos de Partida para la Libertad de los Argentinos | 2-2-24 842
Diputado Pichetto, Miguel Ángel - Continuación de Sesión - 02-02-2024 726

Los contenidos de la playlist con mayor número de likes, además de las sesiones completas, al igual que en el caso anterior son los de Lopez Murphy y Manes, pero en este caso seguidos por las diputadas Orozco y Lospenatto.

Code
embed_url("https://www.youtube.com/watch?v=I252KONL5Rw&ab_channel=HonorableC%C3%A1maradeDiputadosdelaNaci%C3%B3n") %>%
  use_bs_responsive() %>% 
  use_rounded() %>% 
  use_align("center")

Si bien la data capturada arroja alguna luz sobre las preferencias e intereses de la audiencia política en Yotutube, será bueno enriquecer la perspectiva con nuevos features como la pertenencia política, localización y votación para seguir sacando jugo de nuestros datos. Dado que esas claves no las tenemos en la playlist, vamos a ir a recuperarlas de otra base de datos y generar las condiciones necesarias para joinearlas.

Datos abiertos de la Cámara de Diputados

Aprovechando la oportunidad de que la Cámara de Diputados abre los resultados de sus votaciones, vamos a utilizar el dataset de la votación en general de la Ley Bases (también alojado en Github), para obtener Bloque , Provincia y voto de cada diputado nacional para unir a la playlist de Youtube. Lo cargamos y mostramos.

Code
votacion <- read_csv("https://raw.githubusercontent.com/pedroorden/playlistbases/main/votacion_ley.csv")

head(votacion) %>% 
  kableExtra::kable()
DIPUTADO BLOQUE PROVINCIA ¿CÓMO VOTÓ?
ACEVEDO, SERGIO EDGARDO Por Santa Cruz Santa Cruz NEGATIVO
AGOST CARREÑO, OSCAR Hacemos Coalicion Federal Córdoba AFIRMATIVO
AGUIRRE, HILDA Union Por La Patria La Rioja NEGATIVO
AGUIRRE, MANUEL IGNACIO Ucr - Union Civica Radical Corrientes AFIRMATIVO
AJMECHET, SABRINA Pro C.A.B.A. AFIRMATIVO
ALI, ERNESTO NADER Union Por La Patria San Luis NEGATIVO

Efectivamente, la data hace referencia a la actividad parlamentaria en el marco de la Ley Bases. Cada fila corresponde a un diputado en particular, proporcionando información sobre su afiliación política, la provincia que representan y si su voto fue afirmativo o negativo.

Indaguemos, en la actualidad, por cuántos diputados está compuesto cada bloque de la Cámara.

Code
bloques <- votacion %>% 
  group_by(BLOQUE) %>% 
  count() %>% 
  arrange(n)  # Ordena los datos de menor a mayor frecuencia

bloques %>% 
  arrange(desc(n)) %>% 
  kableExtra::kable()
BLOQUE n
Union Por La Patria 99
La Libertad Avanza 38
Pro 37
Ucr - Union Civica Radical 34
Hacemos Coalicion Federal 23
Innovacion Federal 9
Frente De Izquierda Y De Trabajadores Unidad 5
Independencia 3
Buenos Aires Libre 2
Por Santa Cruz 2
Produccion Y Trabajo 2
Avanza Libertad 1
Creo 1
La Union Mendocina 1

Según nuestros datos, y lo votado por los ciudadanos argentinos, el bloque de Unión Por La Patria es el que me más diputados tiene (99), seguido por La Libertad Avanza (38) , el Pro (37), la Ucr - Unión Cívica Radical (34) y Hacemos Coalición Federal (23).

Visualicemos la distribución de los bloques en la Cámara para quedarnos con un registro gráfico e interactivo. Utilizaremos highcarter por sus bondades javascriptezcas, las posibilidades de customización que brinda y su atractivo visual.

Code
library(highcharter)

colores <- c("#80bbd3", "#9DC5BD", "#d6f2eb", "orange", "#4682B4" , "#f4b8f4", "#ffe272",  "#f45b5b","#2b908f", "#B3C8E0", "#b15662", "gold", "#8085e9")

hchart(
  bloques,
  "item", 
  hcaes(name = BLOQUE, y = n),
  name = "bloque",
  showInLegend = TRUE,
  size = "100%",
  center = list("50%", "75%"),
  startAngle = -100,
  endAngle  = 100) %>% 
  hc_colors(colores) %>%  
  hc_title(
text = "Distribución de Diputados por bloque político en el Congreso") %>% hc_legend(labelFormat = '{name} <span style="opacity: 0.4">{y}</span>')%>%
  hc_tooltip(
    useHTML = TRUE,  
    headerFormat = '',  
    crosshairs = TRUE,  
    pointFormat = '<span style="color:{point.color}">Nombre de bloque: <b>{point.BLOQUE}</b></span><br>Cantidad de diputados: <b>{point.n}</b>')

Repitamos el gráfico teniendo como referencia los posicionamientos de los diputados al momento de votar la ley en general.

Code
vot <- votacion %>% 
  group_by(`¿CÓMO VOTÓ?`) %>% 
  count() %>% 
  arrange(n)  # Ordenamos los datos de menor a mayor frecuencia

colores <- c("gold", "grey", "#f45b5b","#2b908f")

hchart(
  vot,
  "item", 
  hcaes(name = `¿CÓMO VOTÓ?`, y = n),
  name = "Voto",
  showInLegend = TRUE,
  size = "100%",
  center = list("50%", "75%"),
  startAngle = -100,
  endAngle  = 100) %>% 
  hc_colors(colores) %>%  # Asignamos la paleta de colores personalizada
  hc_title(text = "Distribución de los resultados de la votación de la Ley Bases en la Cámara de Diputados de la Nación") %>%
  hc_subtitle(text = "Febrero 2024. Congreso de la Nación.") %>%
  hc_legend(labelFormat = '{name} <span style="opacity: 0.4">{y}</span>') %>%
  hc_tooltip(
    useHTML = TRUE,  # Activar HTML para el tooltip
    headerFormat = '',  # Elimina el encabezado del tooltip
    crosshairs = TRUE,  # Muestra líneas de referencia cruzadas
    pointFormat = '<span style="color:{point.color}">Votaron: <b>{point.name}</b></span><br>Diputados: <b>{point.n}</b>'
  )

Unión de bases

Con el objetivo de enriquecer los datos que tenemos por separado, vamos a unirlos, no sin antes hacer una serie de transformaciones que nos permitan matchear de manera eficiente las intervenciones de los diputados con los datos de la votación.

La idea subyacente aquí será operar con el nombre de los diputados como si se tratara de IDs únicos que nos van a permitir identificarlos en una y otra base.

En el dataset con la playlist de youtube, no contamos específicamente con una columna de nombres, pero la referencia a los diputados se encuentra en el título de cada video, con lo cual vamos a generar las identificaciones transformando las filas de esta columna.

Code
# Filtramos las filas que contienen las palabras "Diputado" o "Diputada" en la columna 'title'
datos_filtrados <- datos_playlist %>%
  filter(str_detect(title, "Diputad[oa]")) %>%
  filter(!str_detect(title, "Argentina"))

# Utilizamos mutate() para aplicar las transformaciones al conjunto de datos filtrado
datos_filtrados <- datos_filtrados %>%
  mutate(
    # Elimina la primera palabra (Diputado o Diputada) seguida de un espacio
    title_limpio = str_remove(title, "^[Dd]iputad[ao]\\s"),
    # Elimina todo lo que sigue después del guion ("-")
    title_limpio = str_remove(title_limpio, " -.*"),
    # Convierte el texto a minúsculas
    title_limpio = tolower(title_limpio),
    # Elimina las comas
    title_limpio = str_replace(title_limpio, ",", ""),
    # Elimina los caracteres especiales pero conserva los acentos
    title_limpio = iconv(title_limpio, "UTF-8", "ASCII//TRANSLIT", sub = "")
  ) %>% 
mutate(title_limpio=case_when(
  title_limpio=="toloza paz victoria"~"tolosa paz victoria",
                        title_limpio=="giudici sivana"~"giudici silvana",
                        title_limpio=="ferreyra alida monica"~"ferreyra alida",
                      title_limpio=="bruge juan fernando"~"brugge juan fernando",
              title_limpio=="sarapura natalia silvana"~"sarapura natalia silvina",
          TRUE ~ title_limpio  # Mantenemos el resto de las filas como están
  ))

datos_filtrados %>% 
  select(title_limpio) %>% 
  head(5) %>% 
  kableExtra::kable()
title_limpio
rauschenberger ariel
cobos julio
maquieyra martin
pichetto miguel angel
marin varinia lis

Revisando nuestro código, paso a paso, lo primero que hicimos fue filtrar las filas que contienen las palabras “Diputado” o “Diputada” en la columna ‘title’ del conjunto de datos para quedarnos solo con intervenciones de los políticos.

Luego, aplicamos una serie de transformaciones utilizando la función mutate() para limpiar y estandarizar los nombres de los diputados, eliminando palabras específicas y caracteres especiales, convirtiendo el texto a minúsculas y realizando ajustes adicionales para garantizar la consistencia en los nombres. la columna title_limpio será nuestro identificador común normalizado.

Finalmente, lo que hicimos fue generar una muestra de los datos para checkear el conjunto resultante.

El dataset de votaciones es la segunda base en cuestión y supone un trabajo similar en términos abstractos, pero con su propia complejidad ya que se trata de información distinta.

Code
vot_limpia <- votacion %>%
  mutate(
# Eliminamos caracteres especiales y convierte el texto a un formato ASCII más limpio
    title_limpio = iconv(DIPUTADO, "UTF-8", "ASCII//TRANSLIT", sub = ""),
    # Convertimos el texto a minúsculas
    title_limpio = tolower(title_limpio),
    # quitamos las comas de la columna 'DIPUTADO'
    title_limpio = gsub(",", "", title_limpio))

Aquí utilizamos la función iconv para convertir los caracteres de la columna DIPUTADO a formato ASCII, lo que nos ayuda a normalizar rápidamente la columna. Luego, transformamos el texto resultante en minúsculas utilizando tolower. Finalmente, empleamos la función gsub para eliminar todas las comas de la columna title_limpio .

El momento del join

Puesto que la columna title_limpio en uno y otro dataset no contiene los nombres escritos exactamente de la misma manera, y que ésta es una condición sine qua non para llevar adelante una unión de datos, crearemos una función que matchee parcialmente las bases. Por ejemplo, si una fila en datos_filtrados tiene la cadena “Juan Pérez” y una fila en vot_limpia tiene la cadena “Pérez”, esto sería considerado como una coincidencia parcial.

A continuación, nuestro código buscará estas coincidencias parciales para encontrar filas relacionadas entre los dos dataframes y luego combinará estas filas en un nuevo dataframe llamado df_sesion.

Code
# Inicializamos un dataframe vacío para almacenar el resultado
df_sesion <- data.frame()

# Iteramos sobre cada fila de datos filtrados y buscar coincidencias parciales en  vot limpia
for (i in 1:nrow(datos_filtrados)) {
  match <- grep(datos_filtrados[i, "title_limpio"], vot_limpia$title_limpio)
  if (length(match) > 0) {
    # si la funcion encuentra una coincidencia parcial, combina las filas :)
    row <- cbind(datos_filtrados[i, ], vot_limpia[match, ])
    # agrega la fila al resultado
    df_sesion <- rbind(df_sesion, row)
  }
  }

# muestra el resultado
df_sesion %>% 
  select(title, BLOQUE, like_count) %>% 
  head(5) %>% 
  kableExtra::kable()
title BLOQUE like_count
Diputado Rauschenberger, Ariel - Sesión 31-01-2024 - HO Union Por La Patria 7
Diputado Cobos, Julio - Sesión 31-01-2024 - HO Ucr - Union Civica Radical 6
Diputado Maquieyra, Martín - Sesión 31-01-2024 - HO Pro 1
Diputado Pichetto, Miguel Ángel - Sesión 31-01-2024 - HO Hacemos Coalicion Federal 28
Diputada Marín Varinia, Lis - Sesión 31-01-2024 - HO Union Por La Patria 4

Objetivo cumplido. Ya tenemos nuestro dataframe enriquecido, pero vamos a hacerle algunos ajustes extra. Queremos identificar el día de sesión de cada video usando la información que nos provee el título y emprolijar en general los datos.

Code
library(janitor)

df_sesion<-clean_names(df_sesion)

# Definimos el patrón de la fecha en formato dd-mm-yyyy
patron_fecha <- "\\b\\d{2}-\\d{2}-\\d{4}\\b"

df_sesion_t<- df_sesion %>%
  mutate(fecha_sesion = str_extract(title, patron_fecha),
         diputado = str_to_title(diputado),
         fecha_sesion=as.Date(fecha_sesion, format = "%d-%m-%Y")) %>%
  select(video_id, title, fecha_sesion, diputado, bloque,
         provincia,view_count, like_count ,duracion, como_voto)

df_sesion_t %>% 
  head(5) %>% 
  kableExtra::kable()
video_id title fecha_sesion diputado bloque provincia view_count like_count duracion como_voto
z8vDuTEjwBk Diputado Rauschenberger, Ariel - Sesión 31-01-2024 - HO 2024-01-31 Rauschenberger, Ariel Union Por La Patria La Pampa 450 7 6.2 NEGATIVO
PoshoBvFQBY Diputado Cobos, Julio - Sesión 31-01-2024 - HO 2024-01-31 Cobos, Julio Ucr - Union Civica Radical Mendoza 432 6 2.1 AFIRMATIVO
z18KkWSEtfw Diputado Maquieyra, Martín - Sesión 31-01-2024 - HO 2024-01-31 Maquieyra, Martin Pro La Pampa 265 1 2.4 AFIRMATIVO
yk7R5CzEScE Diputado Pichetto, Miguel Ángel - Sesión 31-01-2024 - HO 2024-01-31 Pichetto, Miguel Angel Hacemos Coalicion Federal Buenos Aires 2936 28 0.8 AFIRMATIVO
fI5vrIDgMyo Diputada Marín Varinia, Lis - Sesión 31-01-2024 - HO 2024-01-31 Marin, Varinia Lis Union Por La Patria La Pampa 301 4 0.9 NEGATIVO

Aquí utilizamos la función clean_names de la biblioteca “janitor” para estandarizar los nombres de las columnas en un dataframe llamado df_sesion. Posteriormente, establecimos un patrón de fecha en el formato “dd-mm-yyyy” y luego lo utilizamos para extraer las fecha del título que requeríamos.

Con los datos listo, pasamos a analizarlos.

Exploración de Datos: análisis de participación y comportamiento parlamentario

Ahora que hemos consolidado y preparado nuestros datos, es momento de adentrarnos en la exploración de los mismos para obtener una comprensión más detallada de la dinámica parlamentaria durante el debate sobre la Ley Bases.

Participación Parlamentaria por Sesión

Comencemos examinando la participación de los diputados en cada sesión de dabate parlamentario. Para ello, calcularemos el número total de intervenciones realizadas por los legisladores en cada fecha de sesión. Este análisis nos permitirá tener un vistazo de la intensidad de la actividad legislativa y la distribución de las intervenciones por fecha.

Code
#intervenciones unicas
ndiputados <- df_sesion_t %>%
  select(fecha_sesion, diputado) %>% 
  group_by(fecha_sesion, diputado) %>% 
  count() %>% #contamos para quedarnos con casos unicos
  group_by(fecha_sesion) %>% 
  count()#volvemos a contar para registrar las participaciones de los diptados por fecha

#intervenciones
nintervenciones <- df_sesion_t %>%
  select(fecha_sesion) %>% 
  group_by(fecha_sesion) %>% 
  count()

# Combina los datos en un solo dataframe
df_combinado <- merge(ndiputados, nintervenciones, by = "fecha_sesion", all = TRUE)

# Renombra las columnas para mayor claridad
names(df_combinado) <- c("Fecha", "Intervenciones únicas", "Intervenciones")

# Crea el gráfico de barras con highcharter
hc <- highchart() %>%
  hc_title(text = "Participación de los Diputados por fecha de debate") %>%
    hc_subtitle(text = "Sesiones especiales: Ley Bases y Punto de Partida. Año 2024.") %>%
  hc_xAxis(categories = df_combinado$Fecha[order(df_combinado$Fecha)], type = "datetime") %>%
  hc_yAxis(title = list(text = "Cantidad")) %>%
  hc_add_series(name = "Intervenciones", data = df_combinado$Intervenciones, type = "column", color = "#99b4ab") %>%
  hc_add_series(name = "Intervenciones únicas", data = df_combinado$`Intervenciones únicas`, type = "column", color = "#488470") %>%
  hc_tooltip(formatter = JS("function() { return '<b>'+ this.series.name +'</b><br/>'+ Highcharts.dateFormat('%e %b %Y', this.x) + this.y +' veces'; }")) 

# Mostrar el gráfico
hc

Además del número total de intervenciones, es importante siempre considerar cuántos diputados distintos tomaron la palabra en la cámara a lo largo de cada sesión. Esta vía nos ayuda a comprender la diversidad de voces y opiniones representadas durante el debate parlamentario.

En nuestro caso, lo que podremos observar es que la sesión del 2 de febrero fue la que mayor cantidad de intervenciones tuvo y posiblemente la que más discusiones ha generado.

Distribución de Intervenciones por Bloque Político

Otro aspecto relevante, es analizar cómo se distribuyeron las intervenciones entre los diferentes bloques políticos.

Investigaremos cuántos diputados de cada bloque participaron en las sesiones y cómo varía esta participación a lo largo del debate. El ejercicio nos permitirá acercarnos a la dinámica de la participación dentro del parlamento.

Code
heatmap_diputados <- df_sesion_t %>%
  select(fecha_sesion, bloque) %>% 
  # group_by(fecha_sesion, bloque) %>% 
  # count() %>%
  group_by(fecha_sesion, bloque) %>% 
  count()

# Creamos un dataframe con todas las combinaciones de fecha y bloque
combinaciones <- expand.grid(
  fecha_sesion = unique(heatmap_diputados$fecha_sesion),
  bloque = unique(heatmap_diputados$bloque)
)

# Unimos los datos reales con todas las combinaciones posibles
heatmap_diputados <- left_join(combinaciones, heatmap_diputados, by = c("fecha_sesion", "bloque"))

# Reemplazamos los valores NA con 0
heatmap_diputados$n[is.na(heatmap_diputados$n)] <- 0

# Ordenamos los bloques de mayor a menor según el valor de "n"
heatmap_diputados <- heatmap_diputados %>%
  mutate(bloque = reorder(bloque, -n))

# Creamos el mapa de calor con Highcharts
heatmap_diputados %>%
  hchart("heatmap", hcaes(x = fecha_sesion, y = bloque, value = n)) %>%
  hc_colorAxis(stops = color_stops(5, c("white","gold","orange","tomato","red")), type = "linear") %>%
  hc_plotOptions(series = list(
    borderWidth = 2,      # Ancho del borde de cada celda
    borderColor = "#FFFFFF"  # Color del borde (blanco)
  )) %>%
  hc_yAxis(
    reversed = TRUE, 
    title = list(text = "Bloque de Diputados"),  # Título del eje Y
    labels = list(align = "right", rotation = -10)  # Rotación de etiquetas
  ) %>%
  hc_xAxis(
    categories = unique(heatmap_diputados$fecha_sesion),
    title = list(text = "Fecha de Sesión")  # Título del eje X
  ) %>%
  hc_title(text = "Ley Bases: Número de Intervenciones por Bloque") %>%
  hc_legend(enabled = FALSE) %>% 
  hc_tooltip(formatter = JS("function() {return '<b>' + this.series.xAxis.categories[this.point.x] + '</b><br/>' +
'<b>' + this.series.yAxis.categories[this.point.y] + '</b>: ' + this.point.value; }"))

Acabamos de crear un mapa de calor para dimensionar la frecuencia de las intervenciones y podemos observar que las mismas se distribuyen entre los bloques con mayor representación, y sobre todo en la segunda jornada de discusión parlamentaria.

Para construir la figura ademas de código en r, utilizamos algunos recursos javascript que llamamos con la función JS() dentro de la librería highcharter.

Duración y Frecuencia de Intervenciones por Diputado

Aparte de la cantidad de intervenciones, examinaremos la frecuencia y duración de las intervenciones de cada diputado. Este punto en particular, nos aporta una idea respecto de la profundidad y el nivel de participación de cada político en el debate parlamentario.

Creamos los datos de intervenciones y duración:

Code
top <- df_sesion_t %>%
  select(diputado, duracion, bloque) %>% 
  group_by(diputado, bloque) %>% 
  summarize(cantidad_intervenciones = n(),
            duracion_total = sum(duracion))

Generemos un ranking con los 10 de diputados que más veces tomaron la palabra durante el debate.

Code
# Obtenemos los datos de las primeras 10 filas
top_intervenciones <- top %>% 
  arrange(desc(cantidad_intervenciones)) %>% 
  head(10) 
  
# Definimos una paleta de colores para los bloques
colores <- c( "#9DC5BD","#f45b5b","#1f77b4", "#b15662") 

# Creamos una función para asignar un color a cada bloque
asignar_color <- function(bloque) {
  # Usamos el índice del bloque político para seleccionar un color del vector colores
  colores[match(bloque, unique(top_intervenciones$bloque))]
}

# Agregamos una columna de color a los datos originales
top_intervenciones <- top_intervenciones %>%
  mutate(color = asignar_color(bloque)) %>%
  filter(!is.na(color))  # Filtramos para eliminar filas con valores ausentes en la columna "color"

# Creamos un gráfico de barras con colores personalizados y tooltip personalizado
hchart(
  top_intervenciones,
  "bar",
  hcaes(x = diputado, y = cantidad_intervenciones, color = color),
  tooltip = list(
    useHTML = TRUE,
    headerFormat = '',
    pointFormat = '<span style="color:{point.color}">Bloque: <b>{point.bloque}</b></span><br>Diputado/a: <b>{point.diputado}</b><br>Cantidad de intervenciones: <b>{point.cantidad_intervenciones}</b>')) %>% 
  hc_title(text = "Cantidad de intervenciones por Diputado Nacional") %>%
  hc_subtitle(text = "Sesiones especiales 2024: Ley Bases.") %>%
  hc_xAxis(title = list(text = "Diputado/a")) %>%
  hc_yAxis(title = list(text = "Cantidad de intervenciones"))

Conozcamos además los diputados que más tiempo tuvieron la palabra durante el debate

Code
# Obtenemos los datos de las primeras 10 filas y los ordenamos por duración_total de menor a mayor
top_duracion <- top %>% 
  arrange(desc(duracion_total)) %>% 
  head(10)

# Definimos una paleta de colores para los bloques
colores <- c("#1f77b4","#f45b5b","#b15662", "#9DC5BD") 

# Creamos una función para asignar un color a cada bloque
asignar_color <- function(bloque) {
  # Usa el índice del bloque político para seleccionar un color del vector colores
  colores[match(bloque, unique(top_duracion$bloque))]
}

# Agregamos una columna de color
top_duracion <- top_duracion %>%
  mutate(color = asignar_color(bloque)) %>%
  filter(!is.na(color))  # Filtramos para eliminar filas con valores ausentes en la columna "color"

# Creamos un gráfico de barras con colores personalizados y tooltip personalizado
hchart(
  top_duracion,
  "bar",
  hcaes(x = diputado, y = duracion_total, color = color),
  tooltip = list(
    useHTML = TRUE,
    headerFormat = '',
    pointFormat = '<span style="color:{point.color}">Bloque: <b>{point.bloque}</b></span><br>Diputado/a: <b>{point.diputado}</b><br>Duración total: <b>{point.duracion_total}</b>'
  )
) %>% 
  hc_title(text = "Duración total en minutos de las intervenciones por Diputado Nacional") %>%
    hc_subtitle(text = "Sesiones especiales 2024: Ley Bases.") %>%
  hc_xAxis(title = list(text = "Diputado/a")) %>%
  hc_yAxis(title = list(text = "Duración"))

A primera vista, los gráficos dan cuenta de la actividad parlamentaria en la Cámara de Diputados denotando tendencias significativas que arrojan luz sobre la dinámica política dentro del recinto legislativo.

En primer lugar, merece atención la participación activa de los líderes de bloque, quienes se destacan tanto en intervenciones como en la duración de sus discursos. Figuras como la de Germán Martínez y Miguel Pichetto sobresalen como lo que efectivamente son, referentes de sus respectivos bloques, lo que sugiere una influencia significativa en el proceso de discusión.

Por otro lado, se verifica una mayor actividad por parte de las principales fuerzas opositoras, como Unión Por La Patria y Frente de Izquierda y de Trabajadores. Su participación vigorosa en los debates legislativos apuntan a la fiscalización del gobierno y la defensa de los intereses de sus electores.

Es importante resaltar también la presencia de los denominados “diputados dialoguistas”, como De Loredo y el antes mencionado Pichetto, quienes se distinguen en la escena por buscar el diálogo y la negociación en un contexto político polarizado. Su participación activa sugiere una intensión de construir consensos con el oficialismo.

Métricas de Contenido

Dimensiones, Views y Likes

Para continuar este análisis exploratorio, profundizaremos en la visualización de métricas de contenido de la playlist, esta vez en función de las dimensiones adicionales que hemos incorporado: diputados, bloque y voto.

Resaltaremos que las variables a trabajar, likes y views, son fundamentales para mensurar el impacto y la llegada de los mensajes en las audiencias. Estas métricas no solo proporcionan información sobre la popularidad y la aceptación de un video en particular, sino que también que el presente contexto de análisis permiten evaluar la eficacia de las estrategias discursivas y el compromiso del público con el contenido político.

Intervenciones de los Diputados Nacionales con mayor alcance e influencia

Creamos un ranking para visualizar ahora las 10 intervenciones con mejor interacción en cada métrica.

Vistas

Code
# Obtención de datos de las primeras 10 filas y selección de columnas relevantes
top_view_count <- df_sesion_t %>%
  select(diputado, bloque, fecha_sesion, view_count) %>% 
  arrange(desc(view_count)) %>% 
  head(12)

# Definición de paleta de colores para los bloques
colores <- c("#9DC5BD", "#b15662","#1f77b4","#E3D82D", "#8c4a86" ) 

# Función para asignar un color a cada bloque
asignar_color <- function(bloque) {
  colores[match(bloque, unique(top_view_count$bloque))]
}

# Agregamos una columna de color
top_view_count <- top_view_count %>%
  mutate(color = asignar_color(bloque)) %>%
  filter(!is.na(color))  # Filtramos para eliminar filas con valores ausentes en la columna "color"

# Creación del gráfico de barras con colores personalizados y tooltip
hchart(
  top_view_count,
  "bar",
  hcaes(x = diputado, y = view_count, color = color),
  tooltip = list(
    useHTML = TRUE,
    headerFormat = '',
    pointFormat = '<span style="color:{point.color}"> Fecha de la Sesión: <b>{point.fecha_sesion}</b></span><br>Bloque: <b>{point.bloque}</b></span><br>Diputado/a: <b>{point.diputado}</b><br>Vistas: <b>{point.view_count}</b>')) %>% 
  hc_title(text = "Top 10 Intervenciones de diputados en el congreso según cantidad de Likes") %>%
  hc_subtitle(text = "Sesiones especiales: Ley Bases, año 2024.") %>%
  hc_xAxis(title = list(text = "Diputado/a")) %>%
  hc_yAxis(title = list(text = "Vistas"))

Me gusta

Code
# Obtención de datos de las primeras 10 filas y selección de columnas relevantes
top_view_count <- df_sesion_t %>%
  select(diputado, bloque, fecha_sesion, like_count) %>% 
  arrange(desc(like_count)) %>% 
  head(13)

# Definición de paleta de colores para los bloques
colores <- c("#9DC5BD", "#b15662","#8c4a86","#E3D82D","#1f77b4" ) 

# Función para asignar un color a cada bloque
asignar_color <- function(bloque) {
  colores[match(bloque, unique(top_view_count$bloque))]
}

# Agregamos una columna de color
top_view_count <- top_view_count %>%
  mutate(color = asignar_color(bloque)) %>%
  filter(!is.na(color))  # Filtramos para eliminar filas con valores ausentes en la columna "color"

# Creación del gráfico de barras con colores personalizados y tooltip
hchart(
  top_view_count,
  "bar",
  hcaes(x = diputado, y = like_count, color = color),
  tooltip = list(
    useHTML = TRUE,
    headerFormat = '',
    pointFormat = '<span style="color:{point.color}"> Fecha de la Sesión: <b>{point.fecha_sesion}</b></span><br>Bloque: <b>{point.bloque}</b></span><br>Diputado/a: <b>{point.diputado}</b><br>Me gusta: <b>{point.like_count}</b>')) %>% 
  hc_title(text = "Top 10 Intervenciones de diputados en el congreso según cantidad de Me Gusta") %>%
    hc_subtitle(text = "Sesiones especiales: Ley Bases, año 2024.") %>%
  hc_xAxis(title = list(text = "Diputado/a")) %>%
  hc_yAxis(title = list(text = "Me gusta"))

Después de analizar las interacciones de la audiencia con los vídeos en términos de vistas y likes, queda claro que estas métricas cuentan una historia común, aunque con matices distintos. Se destaca que los diputados López Murphy y Manes son consistentemente los más populares tanto en vistas como en likes, lo que sugiere un fuerte apoyo de la audiencia hacia ellos. Sin embargo, más allá de estos líderes destacados, se observa una variabilidad en las preferencias del público.

En el caso de los likes, se destacan figuras políticas con un gran impacto mediático, lo que sugiere que generan interés y discusión, sin necesariamente reflejar una preferencia clara por su contenido. Por otro lado, las vistas reflejan el interés general del público hacia ciertos temas o discursos, pero no necesariamente indican una adhesión directa al mensaje.

Sin pretender ser taxativos, será dable destacar que el interjuego entre likes y views de las intervenciones muchas veces puede contribuir a develar la presencia de liderazgos emergentes o personalidades políticas influyentes con los que las audiencias sienten mayor afinidad y compromiso.

Promedio de vistas y me gusta por bloque

Calcularemos ahora las medias de likes y views para cada bloque. Esta desagregación nos ayudará evaluar el rendimiento general de cada fuerza en términos de la popularidad y la aceptación de los contenidos entre los espectadores de Youtube.

El uso aquí de variables procesadas como medias tiene varios motivos:

En primer lugar porque nos permite normalizar los datos para considerar la variación en el número de videos publicados para cada dimensión, permitiendo una comparación del rendimiento relativo del contenido político entre diferentes entidades sin verse afectados por diferencias en el volumen total de videos.

Segundo, la media proporciona una representación equitativa del rendimiento promedio del contenido en lugar de simplemente sumar todos los likes y views, lo que podría sesgar los resultados hacia diputados, bloques o provincias con un mayor número de representaciones.

Finalmente, utilizar medias facilita la comparación entre diferentes entidades al proporcionar una medida estandarizada del compromiso del público con el contenido político, lo que permite identificar tendencias y patrones de manera más efectiva, así como evaluar el rendimiento relativo entre las distintas dimensiones.

Media de vistas por bloque

Code
# Calculamos la media de views por bloque
media_views_por_bloque <- df_sesion_t %>% 
  group_by(bloque) %>% 
  summarise(suma=n(),
    media_vistas = round(mean(view_count, na.rm = TRUE), digits = 1)) %>% 
  filter(suma>10)

media_general_views <- mean(df_sesion_t$view_count, na.rm = TRUE)

# Ordenamos los bloques por la media de views de mayor a menor
media_views_por_bloque <- media_views_por_bloque[order(-media_views_por_bloque$media_vistas),]

# Definimos una paleta de colores para los bloques
colores <- c("#9DC5BD","#C0A1CB","#b15662","#E3D82D","#1f77b4", "#f45b5b") 
# Creamos una función para asignar un color a cada bloque
asignar_color <- function(bloque) {
  colores[match(bloque, unique(media_views_por_bloque$bloque))]
}
# Agregamos una columna de color
media_views_por_bloque <- media_views_por_bloque %>%
  mutate(color = asignar_color(bloque))

# Creamos el gráfico de barras con colores personalizados y tooltip
hchart(
  media_views_por_bloque,
  "bar",
  hcaes(x = bloque, y = media_vistas, color = color),
  tooltip = list(
    useHTML = TRUE,
    headerFormat = '',
    pointFormat = '<span style="color:{point.color}">Bloque: <b>{point.bloque}</b></span><br>Media de views: <b>{point.media_vistas}</b>')) %>% 
  hc_title(text = "Media de views por bloque") %>%
  hc_xAxis(
    title = list(text = "Bloque") ) %>%
  hc_yAxis(
    title = list(text = "Promedio de views por bloque"),
    plotLines = list(list(
      value = media_general_views,
      label = list(text = "<div style='color: #1f3446; font-weight: bold; vertical-align: bottom;'>Media general</div>", 
        useHTML = TRUE),
      color = "#1f3446",
      dashStyle = "shortdash",
      width = 2,
      zIndex = 5)
      )
    )

Media de me gusta por bloque

Code
# Calculamos la media de views por bloque
media_likes_por_bloque <- df_sesion_t %>% 
  group_by(bloque) %>% 
  summarise(suma=n(),
    media_likes = round(mean(like_count, na.rm = TRUE), digits = 1)) %>% 
  filter(suma>10)

media_general_likes <- mean(df_sesion_t$like_count, na.rm = TRUE)

# Ordenamos los bloques por la media de views de mayor a menor
media_likes_por_bloque <- media_likes_por_bloque[order(-media_likes_por_bloque$media_likes),]

# Definimos una paleta de colores para los bloques
colores <- c("#C0A1CB","#9DC5BD","#E3D82D",
             "#b15662","#1f77b4","#f45b5b") 

# Creamos una función para asignar un color a cada bloque
asignar_color <- function(bloque) {
  colores[match(bloque, unique(media_likes_por_bloque$bloque))]
}

# Agregamos una columna de color
media_likes_por_bloque <- media_likes_por_bloque %>%
  mutate(color = asignar_color(bloque))

# Creamos el gráfico de barras con colores personalizados y tooltip
hchart(media_likes_por_bloque,
  "bar",hcaes(x = bloque, y = media_likes, color = color),
  tooltip = list(useHTML = TRUE,
    headerFormat = '',
    pointFormat = '<span style="color:{point.color}">Bloque: <b>{point.bloque}</b></span><br>Media de likes: <b>{point.media_likes}</b>')) %>% 
  hc_title(text = "Media de likes por bloque") %>%
  hc_xAxis(title = list(text = "Bloque") ) %>%
  hc_yAxis(title = list(text = "Promedio de likes por bloque"),
    plotLines = list(
      list(value = media_general_likes,
      label = list(text = "<div style='color: #1f3446; font-weight: bold; vertical-align: bottom;'>Media general</div>", 
        useHTML = TRUE),
      color = "#1f3446",
      dashStyle = "shortdash",
      width = 2,
      zIndex = 5))
    )

Las medias de views y likes muestran que los principales bloques adversarios se encuentran en posiciones con un volumen de interacción menor y por debajo de las medias generales para cada métrica. En contraste, los bloques cercanos al oficialismo registran cifras más altas. Sin embargo, es importante destacar que el diputado Manes presenta una intervención con un gran volumen de views y likes, en la que plantea un abierto desacuerdo dentro de su bloque la UCR, que actualmente está en diálogo con el gobierno.

Esta discrepancia entre los bloques podría sugerir diferencias significativas en la efectividad de la comunicación política y el compromiso del público con el contenido. Además, el caso de los diputados Manes o Lopez Murphy resaltan la complejidad de las dinámicas internas dentro de los partidos políticos y cómo estas pueden influir en la percepción y la aceptación del público hacia determinados mensajes.

Este tipo de datos nos proporcionan una visión cercana sobre la dinámica del contenido parlamentario en YouTube, pero también subrayan la necesidad de considerar el contexto político y las relaciones internas dentro de los partidos al interpretar estas métricas.

Conclusiones

El caso aplicado de análisis de la Ley Bases nos permitido acercarnos a la dinámica del debate parlamentario conociendo actores, bloques y su interacción con las audiencias digitales de Youtube.

La visualización de datos interactiva nos dio una perspectiva de cómo se distribuyeron las intervenciones a lo largo del tiempo y entre los distintos grupos políticos. Esta información terminó resultando útil para comprender no solo quiénes están participando activamente en los debates, sino también cómo se distribuye esa participación en el contexto político actual.

Además, al analizar la duración y frecuencia de las intervenciones por diputado, pudimos identificar a aquellos que tuvieron un mayor impacto y presencia en el debate parlamentario, allí figuras destacadas como Germán Martínez y Miguel Pichetto emergieron como referentes plenos de sus respectivos bloques. Otros, como López Murphy y Manes, llamaron la atención por su alta popularidad entre la audiencia digital.

Las métricas de contenido, como las vistas y los likes, nos permitieron evaluar el impacto y la aceptación de las intervenciones en YouTube. Si bien observamos tendencias claras, como el mayor compromiso del público con ciertos temas o discursos filo oficialistas, también se identificaron matices críticos que invitan a seguir profundizando en los matices internos de los partidos, los bloques en los que participan y sus posicionamientos.

Hasta aquí esta primera experiencia de abordaje del debate en el Congreso Argentino, a futuro la intensión es seguir desarrollando esta suerte de parlamentarytics con nuevas fuentes de datos, técnicas y actores.

Reuse

Citation

BibTeX citation:
@online{damian orden2024,
  author = {Damian Orden, Pedro},
  title = {Métricas de Las {Sesiones} {Especiales} En {Youtube}},
  date = {2024-02-20},
  url = {https://tecysoc.netlify.app/posts/ley-bases},
  langid = {en}
}
For attribution, please cite this work as:
Damian Orden, Pedro. 2024. “Métricas de Las Sesiones Especiales En Youtube.” February 20, 2024. https://tecysoc.netlify.app/posts/ley-bases.