A R Markdown
R Markdown (???) es un formato de documento de texto plano que consta de dos componentes: R (u otros lenguajes de cálculo) y Markdown. Markdown hace que sea fácil para los autores escribir un documento debido a su sintaxis simple. El código de programa (como el código en R) se puede incrustar en un documento de origen Markdown para generar un documento de salida directamente: al compilar el documento fuente, se ejecutará el código del programa y su salida se mezclará con el texto Markdown.
Los archivos de R Markdown generalmente usan la extensión de nombre de archivo .Rmd
. A continuación se muestra un ejemplo mínimo:
---
title: Una regresión lineal simple
author: Yihui Xie
---
A continnuación, construimos una regresión lineal.
```{r}
fit = lm(dist ~ speed, data = cars)
b = coef(summary(fit))
plot(fit)
```
La pendiente de la regresión es `r b[2, 1]`.
Dicho documento se puede compilar usando la función rmarkdown::render()
, o lo que es lo mismo, haciendo clic en el botón Knit
en RStudio. Tras bambalinas, un documento de R Markdown se compila primero a Markdown por knitr (Xie 2018b), que ejecuta todos los códigos del programa en el documento. Luego, el documento de salida de Markdown se compila en el documento de salida final a través de Pandoc, como una página HTML, un documento PDF, un documento de Word, etc. Es importante conocer este proceso de dos pasos; de lo contrario, es posible que no sepa qué documentación del paquete buscar cuando tenga preguntas. Básicamente, para todo lo relacionado con los fragmentos del código (R), consulte la documentación knitr (https://yihui.name/knitr/); para cualquier cosa relacionada con Markdown, consulte la documentación de Pandoc (https://pandoc.org).
Un documento de R Markdown normalmente consta de metadatos YAML (opcional) y el cuerpo del documento. Los metadatos YAML se escriben entre un par de ---
para establecer algunos atributos del documento, como el título, el autor y la fecha, etc. En el cuerpo del documento, puede mezclar fragmentos de código y párrafos. Un bloque de código comienza con un encabezado de fragmento ```{r}
y termina con ```
. Hay muchas opciones de fragmentos posibles que puede establecer en el encabezado del fragmento para controlar la salida, por ejemplo, puede establecer la altura de la figura en 4 pulgadas con ```{r fig.height = 4}
. Para ver todas las opciones de fragmentos posibles, consulte https://yihui.name/knitr/options/.
Pandoc admite una gran variedad de formatos de documentos de salida. Para blogdown, el formato de salida se establece en HTML (blogdown::html_page
), ya que un sitio web normalmente consta de páginas HTML. Si desea otros formatos, consulte la sección ??. Para crear una publicación de R Markdown para blogdown, se recomienda que utilice “New post” de RStudio (Figura @ref(fig: new-post)) o la función blogdown::new_post()
, en lugar del menú de RStudio File -> New File -> R Markdown
.
Le recomendamos que revise la documentación de las opciones de chunk knitr y el manual de Pandoc al menos una vez para tener una idea de todas las posibilidades. Los conceptos básicos de Markdown son bastante simples, pero también hay muchas características menos conocidas en Markdown de Pandoc. Como mencionamos en la sección @ref(formato de salida), el formato de salida de blogdown se basa en bookdown (Xie 2018a), que contiene varias otras extensiones de Markdown, como ecuaciones numeradas y entornos de teoremas, y debe leer el Capítulo 2 del libro bookdown (Xie 2016) para obtener más información sobre estas características.
Puede encontrar una hoja de referencia de R Markdown y una guía de referencia en https://www.rstudio.com/resources/cheatsheets/, que puede ser útil una vez que esté más familiarizado con R Markdown.
Con R Markdown, solo necesita mantener los documentos fuente; todas las páginas de salida se pueden generar automáticamente a partir de documentos fuente. Esto hace que sea mucho más fácil mantener un sitio web, especialmente cuando el sitio web está relacionado con el análisis de datos o con la informática estadística y los gráficos. Cuando se actualiza el código fuente (por ejemplo, el modelo o los datos se cambian), en consecuencia, sus páginas web se pueden actualizar y automáticamente. No es necesario ejecutar el código por separado y cortar y pegar de nuevo. Además de la comodidad, obtiene reproducibilidad al mismo tiempo.
Referencias
Xie, Yihui. 2018b. Knitr: A General-Purpose Package for Dynamic Report Generation in R. https://CRAN.R-project.org/package=knitr.
Xie, Yihui. 2018a. Bookdown: Authoring Books and Technical Documents with R Markdown. https://CRAN.R-project.org/package=bookdown.
Xie, Yihui. 2016. Bookdown: Authoring Books and Technical Documents with R Markdown. Boca Raton, Florida: Chapman; Hall/CRC. https://github.com/rstudio/bookdown.