R para el análisis de datos


Kevin Carrasco

Sociología - UAH

1er Sem 2024

R-data-analisis.netlify.com

Presentación

Este curso

  • Unidad 1: Elementos y herramientas de R

  • Unidad 2: Operacionalización y análisis descriptivo de datos

  • Unidad 3: Análisis estadístico inferencial en R

  • Unidad 4: Regresión lineal y regresión logística

Evaluación

  • 3 trabajos (20% c/u). En parejas

  • Presentación final de investigación (10%)

  • Examen Final (30%)

  • Foco en reproducibilidad, reporte, visualización y análisis de resultados.

Sitio web del curso

R-data-analisis.netlify.app

  • Ventajas: Todo en un mismo lugar, permite combinar texto y código, reproducible, gratis, acceso abierto, etc.

Sitio web

Ciencia abierta

Investigación reproducible

¿Cómo organizamos el trabajo de investigación (en el momento del análisis y escritura)?

Reproducibilidad

  • Es la posibilidad de regenerar de manera independiente los resultados usando los materiales originales de una investigación ya publicada.

  • En términos simples: obtener los mismos resultados de una investigación utilizando los mismos datos.

¿Qué porcentaje de los estudios publicados son reproducibles?

Alrededor de un 40%! dependiendo de la disciplina

¿Hay crisis de reproducibilidad?

¿y en la práctica cómo afecta la reproducibilidad?

Breznau, et. al, (2023) coordinó una investigación con 161 investigadores de 73 equipos de investigación.

Los equipos informaron tanto hallazgos numéricos como conclusiones sustanciales muy diversas

Flujos de investigación reproducible

  • Texto plano
  • Carpetas y archivos
  • Autocontenido
  • Abierto

Ejemplo con procesador de texto tradicional

Ejemplo con procesador de texto tradicional

Algunas limitaciones

  • Barrera de pago/licencia para acceder a contenidos (propiedad)

  • Difícil versionamiento y llevar registro de quién hizo qué cambio, barrera a la reproducibilidad y colaboración

  • No permite un documento enteramente reproducible que combine texto y código de análisis (en caso de utilizarlo)

Propuesta: escritura libre y abierta

Introducción a R y RStudio

Así se ve Rstudio

.small[.right[fuente: Guía de campo de R]]

¿Por qué usar R?

  • Gratis: No es necesario pagar licencias

  • Multiplataforma (Windows, Mac-OS, Linux): Los códigos de análisis pueden ser usados en distintas plataformas

  • Investigación reproducible: Permite documentar los resultados obtenidos paso a paso, mostrando el flujo completo de procesamiento de los datos por medio de scripts

  • Integración con otros softwares

  • Independiente de programa comercial

  • Independiente de plataformas específicas

  • Permite combinar texto y análisis en un mismo documento

  • Foco en los contenidos en lugar del formato

  • Permite distintas opciones de formato final

Así se ve Quarto

)

Así se ve Quarto

Protocolo de flujo de investigación reproducible

Alternativas

A. ad-hoc

  • cada investigador define numero de archivos, nombres, carpetas y organización

  • explicar al resto cómo se organiza

  • documentar en un archivo cómo se organiza

–> reproducibilidad y transparencia LIMITADA

B. Protocolo reproducible

  • estructura de carpetas y archivos interconectados que refieren a reglas conocidas (estándares)

  • autocontenido: toda la información necesaria para la reproducibilidad se encuentra en la carpeta raíz o directorio de trabajo.

Propuesta: Protocolo IPO

Estructura IPO

Mayores detalles y plantilla de carpetas:

Carpeta autocontenida

  • proyecto autocontenido: reproducible sin necesidad de archivos externos

  • requisito: establecer directorio de trabajo

    • posición de referencia de todas las operaciones al interior del proyecto

    • también llamado directorio raíz

Directorio de trabajo

  • ej. forma tradicional en hoja de código R:

    • setwd(ruta-a-carpeta-de-proyecto)

    • problemas: hace referencia a ruta local en el computador donde se está trabajando, por lo tanto no es reproducible y se debe evitar

  • alternativa sugerida en R: RStudio Projects

RStudio Projects

  • La funcionalidad Projects de RStudio permite establecer claramente un directorio de trabajo de manera eficiente

  • Para ello, genera un archivo de extensión .Rproj en el directorio raiz de la carpeta del proyecto

  • Luego se facilita acceder a la carpeta del proyecto en RStudio ejecutando desde el administrador de archivos del computador (file manager) el archivo .Rproj

  • para comprobar, ejecutar getwd() y debería dar la ruta hacia la carpeta del proyecto

Repositorios y apertura

La escritura en texto simple (como Markdown o Quarto) permite implementar un sistema de control de versiones, además de herramientas de respaldo, colaboración y comunicación

El origen: Abriendo un sistema operativo

  • Linus Torvalds, 1991 (21 años)

  • Crea sistema operativo libre (Linux) y lo abre a la colaboración. Postea:

    • “I’m doing a (free) operating system (just a hobby, won’t be big and professional…”
  • TED talk

Git

  • es una especie de memoria o registro local que guarda información sobre:

    • quién hizo un cambio
    • cuándo lo hizo
    • qué hizo
  • mantiene la información de todos los cambios en la historia de la carpeta / repositorio local

  • se puede sincronizar con un repositorio remoto (ej. Github)

Git/github

  • actualmente, Git / Github posee más de 100 millones de repositorios

  • mayor fuente de código en el mundo

  • ha transitado desde el mundo de desarrollo de software hacia distintos ámbitos de trabajo colaborativo y abierto

  • entorno de trabajo que favorece la ciencia abierta

Git no es un registro de versiones de archivos específicos, sino de una carpeta completa

Guarda “fotos” de momentos específicos de la carpeta, y esta foto se saca mediante un commit

Commits

  • El commit es el procedimiento fundamental del control de versiones

  • Git no registra cualquier cambio que se “guarda”, sino los que se “comprometen” (commit).

  • En un commit

    • se seleccionan los archivos cuyo cambio se desea registrar (stage)
    • se registra lo que se está comprometiendo en el cambio (mensaje de commit)

¿Cuándo hacer un commit?

  • según conveniencia

  • sugerencias:

    • que sea un momento que requiera registro (momento de foto)

    • no para cambios menores

    • no esperar muchos cambios distintos que puedan hacer perder el sentido del commit

Taller práctico

https://r-data-analisis.netlify.app/practicos/01-content

R para el análisis de datos


Kevin Carrasco

Sociología - UAH

1er Sem 2024

R-data-analisis.netlify.com