Uso básico de R

Para analizar datos de opinión pública

Felipe Ruiz Bruzzone

Taller Abierto - Magíster en Comunicación

27 de marzo de 2024

Introducción

Actividad interactiva 0: presentación

  • ¡Primero ustedes!: breve presentación.

    • Por favor, a continuación de tu nombre incluye una breve presentación: puedes considerar tu profesión, (o carrera en estudio), porqué te interesa aprender R, y tus expectativas sobre el taller.
  • Para las actividades interactivas trabajaremos sobre un documento online (Etherpad):

Presentación docente

  • Sociólogo, Magíster y Dr.(c) en Ciencias Sociales de la Universidad de Chile. Investigador en Fundación Nodo XXI.
  • Experiencia en investigación social: principalmente temas laborales y económicos.
  • Experiencia en docencia: metodología de investigación, estadística aplicada y ciencia de datos.

Sobre el taller

  • Objetivo fundamental 1: Ofrecer una introducción general a la programación orientada al análisis de datos.
  • Objetivo fundamental 2: Orientar la instalación/configuración de R/RStudio y uso básico de la programación en lenguaje R.
  • Objetivo fundamental 3: Calcular estadísticos descriptivos simples mediante programación usando lenguaje R.
    • Usar tales resultados para pensar una estrategia de comunicación política basada en datos.

Principios pedagógicos:

  • Aprendemos más y mejor haciendo: perspectiva aplicada.
  • Todas las preguntas e inseguridades son válidas.
  • Respetaremos a nuestrxs colegas y al espacio de aprendizaje.
  • Seguramente no veremos todo lo que interesa ni todo lo posible: es una introducción aplicada.
  • Similitud con clases desarrollada en asignatura investigación cuantitativa en comunicación del Magíster en Comunicación de la UDP.

Ciencia de Datos y herramientas computacionales

Investigación basada en datos

  • El análisis de datos socioeconómicos hoy: procesos de producción de información societal.
  • No sólo encuestas sociales o cuentas nacionales: datos administrativos (digitalización del sector público y privado), datos de interacciones digitales (big data).
  • Es central manejar herramientas altamente flexibles: datos no estructurados.
  • Software como decisión metodológica: conocer y controlar potencialidades y límites de nuestra herramienta.

Actividad interactiva 1

En sus trabajos, desarrollan análisis de datos? … ¿para qué?

Responder brevemente en: https://pad.carpentries.org/taller-UDP-2024

Una mirada comparativa a diferentes alternativas

Una mirada comparativa a diferentes alternativas

¿Por qué optar por software libre?

  • Definición:
    • “(…) es el software que respeta la libertad de los usuarios y la comunidad. (…) significa que los usuarios tienen la libertad de ejecutar, copiar, distribuir, estudiar, modificar y mejorar el software.” (FSF, 2018).
  • Un gran punto a favor es no tener que pagar licencia.
  • No es sólo cuestión de “costo”: ejemplos de uso limitante de software pagado … ¿técnica como caja negra?
  • Herramientas computacionales e investigación científica.

Algunos ejemplos

R y RStudio

¿Han visto R?

Lenguaje R

  • Lenguaje de programación: amplia flexibilidad para diferentes técnicas de análisis de datos.
  • Alta interactividad con otras plataformas de trabajo computacional (almacenamiento, análisis y visualización de datos).
  • Software libre: código abierto a disposición del público (transparencia) y distribución gratuita.

Comunidad R

  • Actualización colectiva y permanente: comunidad activa de de usuarios, “R Development Core Team” y Comprehensive R Archive Network
  • Desarrollo permanente de nuevas utilidades: no sólo para ciencias sociales, en general muchas otras disciplinas.

La interface RStudio

La interface RStudio

  • Interfaz de visualización: opera sobre la versión base de R.
  • Agrega ventanas y botones que facilitan uso: visualizar procesos y objetos.
  • Distribución gratuita: no tiene cobro asociado (se cobra versión enterprise).
  • Inserto en “ecosistema” R: empresa se llama Posit.
  • Se articula con otras funcionalidades: Shiny (dashboards interactivos), Quarto (documentos reproducibles) o Github (desarrollo software).

Características generales de RStudio

  • RStudio es una interface que permite visualizar e interactuar de forma más fácil con el lenguaje de programación R. Elementos que componen esta interface.
      1. Editor de sintaxis.
      1. Entorno de trabajo.
      1. Pestaña múltiple: i) subpestaña files; (ii) subpestaña plots; (iii) subpestaña packages; (iv) subpestaña help y; (v) subpestaña viewer.
      1. Consola de resultados.

Características generales de RStudio

El ecosistema de R

Taller aplicado 1

Ejercicio (básico) de programación

  • Lógica de definición de objetos.
  • Creación de vectores (variables).
  • Creación de matrices (bases de datos).
  • Exploración de atributos.
  • Resultados básicos.

Plataforma de trabajo: Posit Cloud

Posit Cloud: acceso con Google

Material de apoyo: instalaciones

Publicado en formato página web vía Bookdown, repositorio en Researchgate y respaldo de documentación en Github.

Ejercicio

Trabajaremos en un Proyecto de Posit Cloud.

  • Abrir link enviado.
  • Iniciar sesión usando correo de Google.
  • Repositorio con sesión de RStudio en línea.
  • Incluye todos los materiales a usar para el aprendizaje de programación usando R.
  • Usaremos el archivo 1-intro-sintaxis.R.

Receso

¡Volvemos en 10 minutos!

10:00

Introducción a R

Uso basico de sintaxis

  • ¿Cuántos/as de ustedes usan regularmente sintaxis?
  • ¿Qué es una sintaxis?, ¿cómo lo definirían?
  • Son las normas que rigen nuestra interacción con un programa que opera sobre un computador.

Uso basico de sintaxis

  • Usar sintaxis permite: edición, replicablidad, control y transparencia.
  • Importante: con botón Run o ctrl+enter se ejecutan los comandos desde sintaxis.
  • Se ejecuta línea completa o selección de texto que hayamos realizado.
  • Si no hay mensajes de error, y el cursor parpadea en la consola, resultó sin problemas.
  • Mensajes son MUY importantes: leer y diferenciar (error, advertencia, mensaje).

Estructura básica de sintaxis en lenguaje R

  • A un objeto dado se le asigna el resultado de una función, que a su vez se ejecuta sobre un conjunto de datos especificado, con una serie de configuraciones particulares.
  • En este caso, la sintaxis de la imagen es ficticia, pero sirve para el propósito pedagógico.

… lo vimos en nuestro ejemplo

# Creación simple de una "variable"

sexo <- c(1,2,1,1,2,1,2,1,2,1,2,99,1,99,2,99,2,2,2,1,1,2)

# Se indican códigos existentes (levels) y 
# etiquetas (labels) o texto a asignar a cada código.

sexo <- factor (sexo, 
                      levels = c(1,2,99), # se consignan valores
                      labels = c("Hombre", "Mujer", NA)) # se consignan etiquetas

table(sexo) # Tabla arroja etiquetas de códigos.
sexo
Hombre  Mujer   <NA> 
     9     10      3 

Pestaña de ayuda y uso de sintaxis

  • Cada paquete viene con manuales para cada una de sus funciones.
  • Visualizador de ayuda permite acceder a ellos sin salir de RStudio.
  • Recomendación: entender lógica de funcionamiento y uso, antes que memorizar código.
  • El código se consulta, se replica, se adapta, se copia.
  • Muy importante para uso cotidiano del software.

Pestaña de ayuda y uso de sintaxis

R e información computacional

  • Esto puede sonar abstracto, pero es sencillo de forma muy pragmática.
  • Lo que conocemos como variable, puede ser entendido como un vector.
  • Informática: un vector es una zona de almacenamiento contiguo que alberga elementos de un mismo tipo. Puede entenderse como una serie de elementos ordenados (fila o columna).}

Variables como vectores

  • En R, los vectores son nuestra unidad mínima de almacenamiento de información.
  • ¿Por qué es relevante manejar esto?: vectores son “insumo” para funciones, que generalmente suponen recibir la info de una u otra forma.

Tipos de vectores en el lenguaje R

  • Numeric: valores numéricos, incluye decimales.
  • Integer: números enteros, no incluye decimales.
  • Character valores alfanuméricos, es decir, letras, números y signos mezclados.
  • Logical: valores lógicos, TRUE o FALSE.
  • Factor: vector que soporta dos dimensiones. Permite asociar etiquetas (valores tipo cadena) a los números.
  • En general, R aplica la regla del mínimo denominador común para determinar ante qué tipo de objeto se está.

Instalación y carga de paquetes adicionales

# Descargar paquete desde CRAN a disco duro.
install.packages("readxl") 

# Cargar paquete instalado en sesión de R (desde librería).
library(readxl)
  • Versión básica de R no incluye todas las funcionalidades posibles (sería ineficiente).
  • Precisamos descargar paquetes adicionales desde el CRAN.
  • Una vez descargados, quedan disponibles en disco duro.
  • Hay que cargarlos cada vez que iniciamos una nueva sesión de R.

Instalación y carga de paquetes adicionales

Proyectos: memoria de R y carpeta de trabajo

  • A R debemos indicarle en qué carpeta del computador estamos, para evitar indicar rutas de acceso demasiado largas a nuestros archivos. Esto pues el programa está montado sobre el nivel mas alto del disco duro.
  • También está el problema de las direcciones absolutas y relativas en nuestros computadores.
  • Todo eso se subsana usando archivos de proyecto de RStudio.

¿Qué es un proyecto?

  • Básicamente es un archivo de referencia para que R trabaja en la ubicación que nosotros queramos de nuestros computadores.
  • Abren una sesión de R anclada a la carpeta donde se encuentra el archivo (.Rproj).
  • ¿Qué es un proyecto en RStudio?: material de referencia para complementar.

Taller aplicado 2

Datos a utilizar

Encuesta Ciclos UDP / Feedback 2022

Pasos a ejecutar en RStudio

  1. Activación de proyecto R.
  2. Gestión (instalación y carga) de paquetes con herramientas necesarias.
  3. Lectura de base de datos de la encuesta.
  4. Preparación de datos: selección y edición de variables
  5. Construcción de resultados: tablas de estadísticos descriptivos.
  6. Bonus track: diseño de gráficas

Receso

¡Volvemos en 10 minutos!

10:00

Cierre

Resultados principales (A)

Resultados principales (B)

Actividad interactiva 2

Usted es parte del equipo comunicacional de una campaña política. Le han encargado construir una estrategia de comunicación política que maximice el resultado electoral entre las y los jóvenes de los principales centros urbanos del país.

En base a las variables analizadas y resultados construidos, proponga 3 ideas fuerza como componentes de su diseño de comunicación política.

Responder brevemente en: https://pad.carpentries.org/taller-UDP-2024

Cierre: ¿comentarios, preguntas…?

Encuesta de evaluación docente

Encuesta post sesión

  • Breve encuesta para evaluar mi desempeño docente.
  • Ojalá puedas responderla (es anónima): ¡me sirve para mejorar!
  • ¡No te tomará más de 5 minutos!
  • Encuesta Docente Post sesión.

¡Gracias!