[1] 5.6
Reportes reproducibles con Quarto
Universidad El Bosque
12 de junio de 2026
Parte 1
El problema del copiar y pegar
El flujo habitual sin herramientas de reproducibilidad:
Cada valor copiado a mano es potencialmente un error.
Parte 2
¿Qué es Quarto?

Quarto es un sistema de publicación que combina texto, código y resultados en un solo archivo. Al renderizarlo, el código se ejecuta y los resultados se insertan automáticamente en el documento.
Cuando los datos cambian, basta con volver a renderizar. Todos los valores calculados se actualizan solos.
Es posible que encuentres archivos .Rmd en tutoriales, repositorios o código de otras personas. R Markdown hace lo mismo que Quarto: combina texto y código en un documento reproducible.
Ambos son creados por Posit (la empresa detrás de RStudio). Pero Quarto es la evolución de R Markdown.
Si ves un archivo .Rmd (que significa “R Markdown”), puedes abrirli sin problema y la estructura es casi idéntica. Pero para trabajos nuevos es mejior usar Quarto (.qmd que significa “Quarto Markdown”).
Parte 3
Un primer documento Quarto
En RStudio: File › New File › Quarto Document…
Aparece un cuadro de diálogo donde puedes escribir el título y el autor antes de crear el archivo. El formato por defecto es HTML, que es el más completo para empezar.
El archivo que se abre tiene tres partes:
---: título, autor, formato de salida```{r}…``` que se ejecutan al renderizar
El encabezado va al principio del archivo, entre dos líneas de ---:
---
title: "Análisis de ansiedad GAD-7"
author: "Ana García"
date: "2026-06-12"
lang: es
format: html
---Controla el título, el autor, la fecha y el formato de salida. Todo lo que aparece debajo del segundo --- es el cuerpo del documento.
date: today inserta automáticamente la fecha en que se renderiza el documento, sin tener que escribirla a mano cada vez:
Si abres el documento en el editor visual de RStudio (botón Visual arriba a la izquierda), puedes editar el encabezado con un formulario en lugar de escribir el YAML a mano.
RStudio ofrece dos modos de edición del mismo archivo:
Editor visual
Interfaz similar a un procesador de texto: los botones aplican formato, los encabezados se ven como encabezados, las listas se crean con Enter. Es el modo más cómodo para empezar.
Editor de código fuente
Muestra el archivo tal como está escrito: texto con marcas de Markdown (**negrita**, # Título). Útil para ver exactamente qué está pasando.
Puedes cambiar entre los dos modos en cualquier momento con el botón Visual / Source en la esquina superior izquierda del editor. El archivo es el mismo en ambos casos.
Para este curso el editor visual es suficiente. El código fuente lo verás aparecer de forma natural a medida que uses Quarto más.
El botón Render (arriba en el editor) ejecuta el documento completo y abre el resultado en el navegador o en el panel Viewer de RStudio.
Si hay un error en algún bloque de código, el renderizado se detiene y muestra el error. El mensaje indica en qué bloque ocurrió.
Actividad · 5 min
Tu primer documento Quarto
— título: "Mi primer análisis", formato: HTMLcurso_r (no en scripts/), como mi_reporte.qmdParte 4
Markdown: el lenguaje del texto
Markdown es la forma en que Quarto entiende el formato del texto. El editor visual lo aplica automáticamente con botones, pero conviene reconocer las marcas para entender qué está pasando.
Lo que escribes (fuente)
Lo que se ve (renderizado)
Texto normal, negrita y cursiva.
# y ## son encabezados del cuerpo del documento, no el título. El título, el autor y la fecha se definen en el YAML (title:, author:, date:), no con #.
Parte 5
Bloques de código
Un bloque de código (chunk) es una sección del documento donde va código ejecutable. Quarto admite R, Python, Julia, Bash y otros lenguajes, e incluso permite mezclar varios en el mismo documento. El lenguaje se indica entre llaves:
En este curso usamos R, así que nuestros bloques llevan siempre {r}:
Las opciones se escriben al inicio del bloque con #|:
| Opción | Por defecto | Qué controla |
|---|---|---|
echo |
true |
¿Se muestra el código en el documento? |
eval |
true |
¿Se ejecuta el código? |
warning |
true |
¿Se muestran las advertencias? |
message |
true |
¿Se muestran los mensajes de carga de paquetes? |
include |
true |
false ejecuta el código pero no muestra nada |
```{r}
#| include: false
library(tidyverse)
library(readxl)
encuesta <- read_excel(
"datos/encuesta_bruta.xlsx", skip = 2) |>
select(-starts_with("...")) |>
rename_with(~ tolower(gsub(" ", "_", .)),
starts_with("GAD")) |>
mutate(ansiedad_total =
gad_1 + gad_2 + gad_3 +
gad_4 + gad_5 + gad_6 + gad_7)
```
```{r}
#| echo: false
#| fig-height: 4
#| fig-cap: "Distribución del puntaje GAD-7"
encuesta |>
ggplot(aes(x = ansiedad_total)) +
geom_histogram(
fill = "#225faa", binwidth = 1
) +
labs(
x = "Puntaje total GAD-7",
y = "Frecuencia"
) +
theme_minimal()
```fig-height y fig-width controlan el tamaño de la figura (en pulgadas). fig-cap añade un pie de figura numerado automáticamente.
Con fig-cap, Quarto etiqueta la figura automáticamente. El idioma de esa etiqueta depende de lang en el YAML:
lang: es también traduce otros textos automáticos: “Table of Contents” → “Tabla de contenidos”, “References” → “Referencias”, “Warning” → “Advertencia”, entre otros.
Parte 6
Código en línea
Con `r ` puedes insertar el resultado de una expresión R directamente en una oración:
La muestra incluyó `r nrow(encuesta)` participantes.
La media del puntaje GAD-7 fue `r round(mean(encuesta$ansiedad_total), 1)` puntos
(DE = `r round(sd(encuesta$ansiedad_total), 1)`).
Al renderizar, eso produce:
La muestra incluyó 180 participantes. La media del puntaje GAD-7 fue 10.3 puntos (DE = 2.7).
Cuando cambien los datos, esos valores se actualizan solos al volver a renderizar.
Actividad · 10 min
Un mini informe
encuesta_bruta.xlsx está en curso_r/datos/ (si no, cópialo ahora desde donde lo guardaste en la Sesión 3)mi_reporte.qmd, añade una nueva sección # Resultadosread_excel("datos/encuesta_bruta.xlsx", skip = 2) y produzca un histograma o gráfica de barrasParte 7
Formatos de salida
El formato HTML es el más completo y el más fácil de usar:
Ventajas
LaTeX es un sistema de composición tipográfica de alta calidad creado en los años 80. A diferencia de Word, no decides cómo se ve el texto: describes el contenido con marcas y LaTeX aplica tipografía profesional de forma automática.
Es el estándar en publicación científica y académica: matemáticas, física, estadística, lingüística. La mayoría de revistas científicas aceptan o exigen archivos .tex.
No necesitas aprender LaTeX para usarlo con Quarto. Quarto genera el .tex por ti; LaTeX solo tiene que estar instalado en tu computador.
Generar un PDF requiere un sistema de composición tipográfica llamado LaTeX. Es el estándar en publicación académica.
El camino que recorre tu documento:
Pandoc es la herramienta que Quarto usa internamente para convertir Markdown a cualquier formato. Viene instalado con Quarto, no tienes que hacer nada.
| Entrada | Salida posible |
|---|---|
Markdown (.qmd) |
HTML, PDF, Word, EPUB, LaTeX, y más |
Word (format: docx) es útil para compartir con colaboradores que no usan R. Para este curso nos centraremos en HTML y, cuando sea necesario, en PDF.
Puedes cambiar el formato de salida en cualquier momento modificando una sola línea del YAML. El resto del documento no cambia.
Tres preguntas antes del cierre.
Un archivo .qmd tiene tres tipos de contenido. ¿Cuál de las siguientes combinaciones es correcta?
✓ b) El encabezado YAML configura el documento (título, formato), el cuerpo usa Markdown para el texto con formato, y los bloques ```{r} ``` contienen código R que se ejecuta al renderizar.
Tienes un bloque de código con #| echo: false y #| eval: true. ¿Qué aparece en el documento renderizado?
echo: false desactiva el bloque completo✓ c) eval: true ejecuta el código, echo: false oculta el código en el documento. El resultado (figura, tabla, valor) aparece, pero el lector no ve el código que lo produjo.
Para generar un PDF con Quarto, cambias format: html por format: pdf en el YAML. ¿Qué más necesitas?
tinytex::install_tinytex())✓ c) Quarto convierte el documento a LaTeX mediante Pandoc y después LaTeX genera el PDF. Si no hay un sistema LaTeX instalado, el proceso falla. TinyTeX es una versión mínima que ocupa poco espacio y funciona perfectamente con Quarto.
Reto 2
Presenta un paquete de R
Para la Sesión 9 · Máximo 5 min · Demostración en vivo
Tu misión: encontrar un paquete de R que te llame la atención y presentárselo al grupo.
El paquete ojalá sea sorprendente. R tiene más de 23 000 paquetes: algunos hacen cosas absurdas, otros hacen cosas increíbles.
Antes de la próxima sesión, completa tu mini informe con los datos de la Sesión 3 o con datos propios.
El documento debe tener al menos:
format: htmlggplot2 y #| echo: falseSi quieres ir más lejos, cambia format: html por format: pdf en el YAML después de instalar TinyTeX, y verifica que el mismo documento se renderiza correctamente como PDF.
Para consultar la sintaxis en cualquier momento: → Guía rápida de Quarto
Hasta la próxima sesión
¡Gracias!
Curso de R · Universidad El Bosque · Junio 2026 · ↩︎ Sitio del curso