Herramientas computacionales para la investigación social reproducible

Talleres de Formación Interna - CIAE, jueves 02 de octubre de 2025


Laboratorio de Investigación Social Abierta

COES

lisacoes.com

Juan Carlos Castillo

Kevin Carrasco

René Canales

Katherine Aravena

Tomás Urzúa

Antes de comenzar

El Laboratorio de Investigación Social Abierta (LISA) tiene por objetivo ofrecer herramientas y orientaciones para la apertura científica de las distintas etapas de los proyectos de investigación en ciencias sociales.


lisacoes.com

Nuestro equipo

Juan Carlos Castillo
Kevin Carrasco
Katherine Aravena
René Canales
Tomás Urzúa




Módulo 1: Reproducibilidad en la investigación social



Juan Carlos Castillo

Ciencia abierta

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

Elementos de la investigación reproducible

  • Trabajo en editor de texto (VSC)
  • Escritura en texto plano (Markdown)
  • Documentos y presentaciones abiertas y dinámicas (Quarto)
  • Versionables (Git)
  • Repositorios abiertos (Github)
  • [Organización de carpetas y archivos - IPO]




Módulo 2: Introducción VS Code



Katherine Aravena Herrera

Introducción a Visual Studio Code

Objetivo y plan

Objetivo: Comprender la interfaz de VS Code y ejecutar un mini flujo con carpeta, archivo, terminal y atajos.

  1. ¿Qué es VS Code?
  2. Interfaz general
  3. ¿Qué abrir?
  4. Atajos clave
  5. Personalización rápida
  6. Enfoque en el editor
  7. Cierre

¿Qué es VS Code?

  • Editor de código gratuito, liviano y extensible.
  • Multilenguaje: R, Python, Quarto, LaTeX, HTML/CSS/JS.
  • Integra Terminal, Git, Depuración y Extensiones.
  • Ideal para flujos reproducibles con Git/GitHub y Quarto.

Logo de Visual Studio Code

Interfaz: visión general

  • Barra de actividad (izquierda): Explorer, Search, Source Control, Run, Extensions.
  • Barra lateral: contenido del panel activo (árbol de archivos, búsqueda, Git, etc.).
  • Área de edición: pestañas, split view, vista previa.
  • Paneles (abajo): Terminal, Problems, Output, Debug Console.
  • Barra de estado (abajo): idioma, posición del cursor, rama Git, espacios/tabs, contenedor, etc.
Interfaz VS Code

Así se ve

Barra de actividad

Barra de actividad VS Code

  • ① Explorer —> Tu carpeta de trabajo. Aquí ves y ordenas todos los archivos y subcarpetas del proyecto (crear, renombrar, mover o borrar).

  • ② Search —> Busca en todo el proyecto. Encuentra palabras o frases en todos los archivos y permite reemplazarlas de una sola vez.

  • ③ Source Control (Git) —> Historial y versiones. Guarda cambios con un “commit”, revisa diferencias y sincroniza con GitHub u otro repositorio.

  • ④ Run & Debug —> Probar y encontrar errores. Ejecuta tu programa y, si algo falla, te deja avanzar paso a paso para ver qué está pasando.

  • ⑤ Remote Explorer (extensión) —> Trabajar a distancia. Abre proyectos que están en otra máquina o entorno (SSH, WSL, contenedores) como si fueran locales.

  • ⑥ Extensions —> Añadir funciones. Instala complementos que suman lenguajes, temas, correctores de estilo, soporte para Quarto, etc.

  • ⑦ R (extensión) —> Herramientas para R. Consola interactiva, enviar líneas o bloques de código y buena integración con Quarto y notebooks.

Para comenzar

Desde la interfaz

  • En la barra de actividad (izquierda), haz clic en Explorer.
  • En la vista Explorer:
    • Abrir carpeta… → muestra el árbol de archivos en la barra lateral.
    • Nuevo archivo / Nueva carpeta (botones sobre el árbol).
    • Arrastrar y soltar una carpeta desde tu sistema → se abre como área de trabajo.
  • En la pantalla de Bienvenida también tienes Open Folder y Open File.
  • ¿Para clonar un repositorio?

Comandos rápidos

  • Quick Open: Ctrl+P → ir a cualquier archivo por nombre.
  • Abrir archivo: Ctrl+O
  • Nuevo archivo: Ctrl+N
  • Abrir carpeta: Ctrl+K luego Ctrl+O
  • Cambiar área de trabajo: Ctrl+K luego Ctrl+R (recientes)
  • Paleta de comandos: Ctrl+Shift+P por ejemplo:
    • Git: Clone
    • Quarto: New document

Personalización rápida

VSC en español

  1. Ctrl+Shift+PConfigure Display Language
  2. Elegir EspañolRestart
  3. Verifica la extensión Spanish Language Pack en Extensiones

Temas de color

  • Archivo → Preferencias → Temas → Tema de color
  • Predeterminado: Dark Modern
  • Sugerencia: prueba Light Modern o instala otros temas del Marketplace

Áreas de trabajo

  • Carpeta única (recomendado para cursos): Archivo → Abrir carpeta…
  • Workspace (multi-carpeta): Agregar carpeta… → Guardar área de trabajo como…
  • Nota: cada área puede tener su propia configuración en .vscode/

Extensiones

  • Ctrl+Shift+X → buscar → Instalar
  • Recomendadas: Spanish Language Pack, GitLens, GitHub Pull Requests, Python, R, Quarto, Markdown All in One, ESLint, Prettier

Más información

Uso de GitHub Copilot en Visual Studio Code.

Uso de GitHub Copilot en Visual Studio Code




Módulo 3: Documentos y presentaciones en Quarto



Tomás Urzúa & René Canales

Algunas limitaciones de escritura con procesador de texto tradicional

  • 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

  • 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

Parte 1: Documentos en Quarto

¿Qué es markdown?

  • Forma de escritura simple con pocas marcas de formato

  • Conversión a distintos formatos de salida (html, pdf)

  • Soporta encabezados, tablas, imágenes, tablas de contenidos, ecuaciones, links…

  • Filosofía: foco en contenido primero, el formato después.

¿Qué es Quarto?

  • Quarto es un sistema moderno de creación de documentos dinámicos, informes, presentaciones, libros, sitios web y más, a partir de archivos de texto plano y por medio del conversor universal de documentos Pandoc.

  • Evolución de los sistemas de autoría como Jupyter, R Markdown, todo dentro del mismo documento.

Características Principales

  • Multiplataforma

  • Basado en Markdown

  • Soporte para múltiples lenguajes

  • Multitud de formatos de salida

  • Soporte para publicación científica

  • Integración entornos de desarrollo (RStudio, VSC, etc)

  • Extensible

Características principales

  • Lenguaje que combina código (R) y texto (Markdown): Al igual que RMarkdown (.Rmd), Quarto permite combinar texto plano markdown y código de análisis R.

  • Provee una serie de herramientas para generar documentos dinámicos y publicarlos

Instalación en VSC

  • Requisitos: Quarto CLI y Visual Studio Code (VSC)

  • Instalación de Quarto: https://quarto.org/docs/get-started/

  • Verificación de instalación:

    quarto check
  • Extensión “Quarto” para Visual Studio Code

Estructura de un documento

  • Archivo .qmd

  • Encabezado YAML:

    title: "Mi documento"
    author: "Juan Castillo"
    date: today
    format: html
  • Cuerpo:

    • Markdown para secciones, énfasis, listas, etc.
    • Bloques de código
    • Bibliografía

Ejemplo

---
title: "Tutorial Quarto"
author: "JC"
date: "2025-08-01"
format: html
lang: es
---

# Bienvenidos a este tutorial de **Quarto**.

Quarto está especialmente diseñado para elaborar documentos
científicos y técnicos reproducibles
  • Para renderizar:
    • Desde el terminal: quarto render archivo.qmd
    • VSC: Ctrl+Shift+P -> quarto preview

Base de escritura: Markdown

  • Encabezados: #, ##, ###
  • Listas:
    • Viñetas: - o *
    • Numeradas: 1., 2.
  • Énfasis: *cursiva*, **negrita**
  • Código en línea: `código`
  • Enlaces: [texto](url)

Ejemplo

---
title: "Tutorial Quarto"
author: "JC"
date: "2025-08-01"
format: html
lang: es
---

# Bienvenidos a este tutorial de **Quarto**.

Quarto está especialmente diseñado para elaborar documentos
científicos y técnicos reproducibles

## Este es un subtítulo

Ahora vamos a ensayar **negritas** y _cursivas_

### Y un título de tercer orden

Y una lista

- con viñetas
- ...
- ...

Y otra numerada:

1. punto 1
2. punto 2
3. ...

## Links e imágenes

[Este es un link a Github](https://github.com/)  

![Imagen online](https://upload.wikimedia.org/wikipedia/commons/thumb/3/33/Gutenberg.jpg/330px-Gutenberg.jpg)

Personalización visual del HTML

  • Temas: cosmo, flatly, lux, darkly, etc.

  • Opciones comunes en YAML:

    toc: true
    number-sections: true
    code-fold: true
  • Personalización con CSS externo:

    css: estilos.css

Ejemplo

---
title: "Tutorial Quarto"
author: "JC"
date: "2025-08-01"
format: html
lang: es
toc: true
number-sections: true
theme: darkly
css: estilos.css
---

# Bienvenidos a este tutorial de **Quarto**.

Quarto está especialmente diseñado para elaborar documentos
científicos y técnicos reproducibles

## Este es un subtítulo

Ahora vamos a ensayar **negritas** y _cursivas_

### Y un título de tercer orden

Y una lista

- con viñetas
- ...
- ...

Y otra numerada:

1. punto 1
2. punto 2
3. ...

Extensiones

  • Integración con R
  • Referencias bibliográficas
  • Renderizado a pdf, word
  • Sitios web
  • Presentaciones

Recursos

Parte 2: Presentaciones en Quarto

¿Por qué usar Quarto para presentaciones?

  • Permite controlar las versiones (Git)

  • Facilita la difusión (GitHub Pages)

  • Utiliza texto plano y todos los recursos de Quarto

  • Permite combinar texto y código

YAML

  • Contiene las características que tendrá la presentación al momento de ser renderizada

  • Las especificaciones afectarán todo el documento

  • Veamos un ejemplo con el YAML de esta presentación

Ejemplo

---
format:
  revealjs:
    theme: 
          - taller-elsoc.scss 
    transition: slide
    transition-speed: slow
editor: source
---

Slides

  • Cada slide se define a partir de un ‘#’

  • Se pueden generar subtítulos dentro de una slide añadiendo ‘#’ antes de un texto

Slide con un ‘#’

Subtítulo con 2 ‘#’

Subtítulo con 3 ‘#’

Subtítulo con 4 ‘#’

Texto sin ‘#’

Orden de la información

  • La información puede ser presentada de distintas maneras

  • Puede verse todo el texto de inmediato

  • Todo a un mismo lado

  • Y sin ninguna variante

Orden de la presentación

  • La información puede ser presentada de distintas maneras

  • Puede verse secuencialmente

  • Separando el texto en columnas

  • Y variando el estilo

Orden de la presentación

  • La información puede ser presentada de distintas maneras
  • Puede ser separada en casillas
  • Idealmente para comparar

Diseño de la presentación

  • Las presentaciones (y todos los documentos .qmd) son completamente personalizables

  • Se pueden realizar cambios en partes específicas de la presentación así como a nivel global

Resumen

  • Quarto es ideal para generar documentos divulgativos, sobre todo aquellos que mezclan texto y código

  • Los documentos son completamente personalizables

  • Es una plataforma libre, por lo que no es necesario pagar licencias ni piratear softwares

  • El conocimiento se vuelve más accesible y transparente

Recursos para seguir aprendiendo




Módulo 4: Git y Github



Kevin Carrasco

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

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

Herramientas computacionales para la investigación social reproducible

Talleres de Formación Interna - CIAE, jueves 02 de octubre de 2025


Laboratorio de Investigación Social Abierta

COES

lisacoes.com

Juan Carlos Castillo

Kevin Carrasco

René Canales

Katherine Aravena

Tomás Urzúa