6.2 Rmarkdown

Rmarkdown permite la creación de informes estáticos que combinan texto con código y resultados, gráficos incluídos, generados con R. Aprender Rmarkdown implica aprender dos cosas distintas:

  • Markdown, un formato para escribir documentos simples en modo texto. Tiene la ventaja de ser fácilmente legible por humanos pero, a la vez, procesable programáticamente para volcarlos en otros formatos: pdf, html, etc.
  • La integración entre R y markdown.

Para aprender markdown, una tarea que no debería durar más de 10-15 minutos, se recomiendam los dos siguientes ejercicios.

Crea un fichero .Rmd usando File > New File > R Markdown.

Al crear un nuevo fichero de tipo R Markdown, RStudio proporciona, en lugar de uno vacío, una plantilla que muestra algunas de las opciones disponibles en este formato. Eso facilita el siguiente ejercicio:

Aprende markdown modificando el fichero de ejemplo creado en el ejercicio anterior añadiéndole títulos de varios niveles, párrafos de texto, cursivas, negritas, enlaces, listas (numeradas y sin numerar), etc. usando como guía el tutorial http://commonmark.org/help/. Recuerda compilar el documento (p.e., pulsando el botón con la etiqueta Knit HTML situado encima del panel de edición de RStudio) para inspeccionar el resultado final.

Tambiénse pueden generar documentos en formato Word y PDF. Para estos tendrás que tener instalados los programas necesarios: MS Word, LibreOffice o similar para el primero y LaTeX para el segundo.

Para generar el documento en, por ejemplo, formato Word, despliega el menú debajo del icono Knit de RStudio y selecciona la opción Knit to Word.

No es necesario utilizar los menús para compilar el fichero de salida. Es posible hacerlo programáticamente.

El segundo de los componentes de Rmarkdown (y lo que lo diferencia de Markdown a secas) es la posibilidad de incorporar bloques de código en el hilo del documento. Estos bloques de código se procesan durante la compilación y los resultados que generan (tablas, gráficos, etc.) se integran en la salida. La plantilla de fichero Rmarkdown que genera RStudio incluye unos cuantos bloques de código de ejemplo.

Crea sobre tu documento (o sobre una nueva plantilla) nuevos bloques de código que hagan alguna cosa.

Los bloques de código incluyen opciones en su encabezamiento (p.e., para que un bloque se ejecute o no; para que el código se muestre o se oculte en el documento final, etc.). Consulta las opciones (y el tipo de opciones) disponibles en la página de documentación de Knitr.

Con Rmarkdown y sus extensiones se han escrito informes, artículos e, incluso, libros completos. Una de las grandes ventajas de integrar el texto y el código es que todo el proceso de generación del documento final es automático, sin necesidad de incorporar manualmente gráficos o tablas procedentes de terceros programas. Una consecuencia de creciente interés de la automatización del proceso es que evita los errores humanos (o cierto tipo de ellos) en la manipulación de datos. El documento, al contener el código, es en sí mismo la traza de las manipulaciones realizadas y un tercero, en caso de duda, puede reproducir23 el análisis completamente. O incluso aplicarlo a conjuntos de datos distintos.


  1. De hecho, Rmarkdown nació para dar respuesta a un problema acuciante en la academia y fuera de ella: que los resultados de muchos artículos e informes eran imposibles de reproducir con otros datos, en otros lugares, por otras personas.