Haciendo Ciencia Abierta

Clase 6

Ignacio Sarmiento-Barbieri
Gustavo Castillo Alvarez

2024-07-08

Agenda de hoy

  1. Cerrar módulo de repositorios de datos
  2. Fundamentos de gestión de proyectos con GitHub
  3. Recapitulación y cierre de Proyecto Transversal

Ejemplo: Encuesta

Repositorios de Datos

¿Qué es preservación de los datos?

Principios FAIR

Principios Justos para la gestión de datos de investigación1

  1. Datos Encontrables (Findable)
  2. Datos Accesibles (Accessible)
  3. Datos Interoperables (Interoperable)
  4. Datos Reutilizables (Re-usable)

“the FAIR Principles put specific emphasis on enhancing the ability of machines to automatically find and use the data, in addition to supporting its reuse by individuals.” (Wilkinson et al, 2016)

Principios FAIR

F: Findable o datos encontrables

  • F1: Asignar (Utilizar) identificadores globales, únicos y persistentes a los datos y metadatos.1
  • F4: Los datos y metadatos se registran o indexan en un recurso de búsqueda.

A: Accessible o datos accesibles

  • A1: Los datos y metadatos se pueden recuperar por su identificador utilizando un protocolo de comunicación estandarizado.
  • A2: Los metadatos deben ser accesibles incluso cuando los datos ya no estén disponibles.

R: Reusable o datos reutilizables

  • R1.1: Los datos y metadatos se publican con una licencia de uso de datos clara y accesible.
  • R1.2: Los datos y metadatos incluyen una descripción detallada de la procedencia de los mismos.

Open Science Framework (OSF)

  • Creado en 2013 con la fundación del Centro para la Ciencia Abierta (COS en inglés)
  • Permite que el proceso, contenido, y resultados de la investigación sean accesibles abiertamente
  • Búsqueda de la transparencia
  • Herramienta en la nube, facilita colaboración para alojar datos, manuscritos de borradores, y más

Zenodo

  • Creado en 2013
  • Desarrollado por el proyecto OpenAIRE comisionado por la comisión europea
  • Herramienta para archivar datos, Archivo General de la Nación
  • Una vez subidos, no se pueden borrar

Ejemplo principio A1

  • Para automatizar la adquisición de información debemos descargar los datos directamente de Zenodo, no desde nuestro computador.
zenodo.prefix <- "10.5072/zenodo" # Prefijo de Zenodo
zenodo.id <- "74458" # ID de la última versión
zenodo.api <- "https://sandbox.zenodo.org/api/records/" # API completo

Procesamos información de la encuesta, código a continuación (Clase 05)

require(rjson)
basepath <- here::here()
dataloc <- file.path(basepath,"resources_for_live_lecture")
workpath <- tempdir()
download.file(paste0(zenodo.api,zenodo.id),destfile=file.path(dataloc,"metadata.json"))
require(rio)
require(tidyr)
require(dplyr)
require(gather)
latest <- fromJSON(file=file.path(dataloc,"metadata.json"))
file.list <- as.data.frame(latest$files) %>% select(starts_with("self")) %>% gather()
download.file(file.list$value, destfile = file.path(workpath, "encuesta.csv"))
df <- import(file.path(workpath, "encuesta.csv"))
require(janitor)
df <- df %>% clean_names()

Resultados SO

  • Tuvimos 16 respuestas.
table_src <- table(df$en_que_sistema_operativo_se_encuentra_en_este_momento)
require(kableExtra)
kable(table_src, caption="¿En qué SO está ahora?")
¿En qué SO está ahora?
Var1 Freq
Alguna distribución de Linux 1
macOS 5
Windows 10

Resultados: Herramientas

Ciclo de vida de los datos

  • Preservar en el camino, permite mayor transparencia

¿Preservar datos?

  • Archivar en un lugar confiable
  • Tener un identificador persistente (principio F1)
  • Metadatos accesibles (principio A2)
  • Metadatos y datos indexables (principio F4)

Bonus: Documentación para Machine Learning

Ejemplo de guía

Información relevante:

  • Recolección terminó el 19 de junio a las 17:05
  • Se modificó el 21 de junio
  • Se analizó el 21 de junio
  • Se modificó el formato de la variable fecha el 27 de junio a las 08:06

Gestión de proyectos y tareas

¿Para qué?

  • ¿Quién hace/hará qué y cuándo?
  • Organización y transparencia van de la mano
  • Si para una sola persona es difícil ser ordenada, ¿para muchas?

“Ni una sola pieza de software comercial que tengas en tu PC, tu teléfono, tu tableta, tu coche o cualquier otro dispositivo informático moderno se escribió con el método de”fecha e inicial”.” Gentzkow, Shapiro (2014, pág. 12, trad. propia)

“Ni una sola pieza de software comercial que tengas en tu PC, tu teléfono, tu tableta, tu coche o cualquier otro dispositivo informático moderno se [coordinó mediante el correo] .” Gentzkow, Shapiro (2014, pág. 12, trad. propia)

Usar GitHub como gestor de tareas

Información básica requerida:

Tarea: Salsa Robustness Check
Asignada a: Michael Sinkinson
Asignado por: Jesse Shapiro
Estatus: Completada.
Descripción:
Run main specifications adding a control for per capita salsa consumption. Add a line to our robustness table reflecting the results.

Alternativas gratuitas

Sugerencia de flujo de trabajo para tareas:

Demo con GitHub

Veamos como usar los Issues y GitHub Projects

Integrando todas las herramientas

Rompecabezas de la investigación cuantitativa

Rompecabezas de la investigación cuantitativa

  • Flujo de Trabajo ✅
  • Datos ✅
  • Código ✅
  • Entorno 🏁
    • Contenedores
    • Máquina Virtual
    • Sistema Operativo (NixOS)

Nuestra caja de herramientas

Proyecto Transversal: Flujo de Trabajo

Documento Reproducible en R Markdown y en Jupyter

Proyecto Transversal: Datos

Proyecto Transversal: Código

Proyecto Transversal: Entorno

Manos a la obra