Introducción a la programación en R

¿Quiénes financian las campañas 2024?

Clase abierta - Fundación SOL

jueves, 10 oct , 2024

¿Quiénes somos?

Fundación SOL

  • Más de 17 años de trabajo colectivo autogestionado.
  • Institución que busca aportar al debate crítico.
  • Trabajamos principalmente en actividades de investigación y acción con organizaciones de trabajadores.
  • Realizamos clases en la academia y estamos en constante autoformación.

Financiamiento2023

Mira nuestra memoria 2023

¿Qué veremos hoy?

Aportes de Campaña para las Elecciones Regionales y Municipales 2024.

  • Objetivo: Visualizar los aportes recibidos por candidatos y partidos políticos para las campañas 2024 utilizando fuentes abiertas de información (mientras aprendemos a programar nuestros reportes).
  • Herramientas:
    • Código R y Shiny, presentación Quarto, entre otras.

Fuentes abiertas

  • La posibilidad de acceder a los datos es importante y tiene mucho valor. En este caso trabajamos con una planilla (comunmente llamada: base de datos) que se encuentra disponible gracias al trabajo de quienes sistematizaron la información y/o datos que la conforman.

  • Los datos de fuentes abiertas muchas veces requieren un trabajo posterior, de “transformación de datos” en donde la información se procesa para los objetivos de investigación particulares.

Reporte esperado

Shiny app “básica”

Carga de Librerías

Para construir la aplicación Shiny, utilizamos varias librerías de R que facilitan la manipulación de datos, la creación de interfaces interactivas y la visualización de información.

library(ggplot2)
library(DT)
library(tidyverse)
library(shinyWidgets)
library(shinydashboard)
library(shinythemes)
library(stringi)
library(shiny)
library(bslib)
library(openxlsx)
library(janitor)
library(scales)

Carga planilla

La planilla a utilizar corresponde a la que pone a disposición el sito web del SERVEL (Servicio electoral de Chile)

Código de carga

ruta <- "https://www.dropbox.com/scl/fi/yrvmdh33sh5mptrzoiczc/Reporte_Aportes_DEFINITIVAS_241004.xlsx?rlkey=zefujy57j9czuaj05jbl9iv72&st=04krizcz&dl=1"

data <- openxlsx::read.xlsx(ruta, startRow = 8) |> 
        janitor::clean_names()
  • En este caso cargaremos un planilla que ya ha sido sometida a un proceso de limpieza. Porque la preparación de nuestros datos por lo general es…

Transformaciones básicas

data <- data %>%
    mutate(
        territorio_electoral = toupper(stri_trans_general(territorio_electoral,
        "Latin-ASCII")),
        territorio_electoral = case_when(
            territorio_electoral == "-" ~ "PARTIDO POLITICO",
            TRUE ~ as.factor(territorio_electoral)
        ),
        tipo_de_aporte = as.factor(tipo_de_aporte),
        nombre_aportante = as.factor(nombre_aportante),
        nombre_aportante = case_when(
            nombre_aportante == "-" ~ "Aportes menores sin identificar",
            TRUE ~ as.factor(nombre_aportante)
        ),
        tipo_eleccion = as.factor(str_trim(eleccion, side = "both"))
    )

Sigamos mirando nuestro código en un IDE

  • ¿Qué es un IDE? Es la sigla en inglés para Integrated Development Environment, es español se podría traducir como: Entorno de desarrollo integrado.

Entonces..

Básicamente: sera nuestro lugar favorito para escribir código y hacer nuestro trabajo más sencillo

Conocer algunos conceptos generales del ámbito de la programación, nos llevará, generalmente a aprender algunas palabras en inglés (¿más colonialismo intelectual?)

Antes de irnos…

Tu aporte es fundamental