miércoles, 19 de marzo de 2014

Presentaciones con Markdown y knitr


Con RStudio es posible redactar una presentación sencilla y elegante que combine texto, imágenes, código R y sus resultados numéricos y gráficos y todo gracias al paquete knitr y al programa Pandoc.
En primer lugar debemos redactar la presentación con el formato Markdown. Aprender este formato es muy fácil ya que hay muy pocas reglas y sus opciones también son escasas pero suficientes para un documento sencillo. En RStudio tenemos la ayuda pertinente.
Los títulos de cada apartado (con uno o más símbolos #) fijarán el principio de cada nueva diapositiva.
El código R se introduce dentro de un chunk como se ve en la imagen de arriba.
El documento así creado será un documento .Rmd.

A continuación se procesará con el paquete knitr para obtener los archivos .md y HTML. Simplemente hay que hacer clic en el icono con la madeja Knit HTML y se tienen los dos archivos mencionados. Sin embargo, el archivo HTML no es una presentación. Necesitamos el programa Pandoc.
Una vez instalado el programa Pandoc (ver instrucciones más abajo), tomaremos el archivo .md (el markdown) y lo transformaremos en un documento HTML5 así:

system(pandoc -s -S -i -t dzslides -m documento.md -o documento.html)

o también

system(pandoc -s -S -i -t slidy -m documento.md -o documento.html)

Fórmulas LaTeX

En un documento Markdown escrito en RStudio también podemos añadir fórmulas matemáticas en formato LaTeX que se transformarán en imágenes incrustadas en el archivo HTML o en la presentación. Las instrucciones LaTeX deben ir entre dos símbolos $ para una fórmula en la misma línea o entre dos símbolos con doble dólar $$ para una ecuación centrada. Por ejemplo, la instrucción
$$y_{ij} = \mu + \alpha_i + \varepsilon_{ij}$$
se presentará con el siguiente gráfico:
 



En la página del Rincón Matemático podemos ver muchos ejemplos.
También podemos escribir la fórmula con el ratón o el dedo en la página de demostración Web Equation y tomar el código LaTeX cuando el resultado es correcto.

Instalación de knitr

El autor sugiere que instalemos los siguientes paquetes de R:


install.packages(c('knitr', 'XML', 'RCurl'))

Instalación de Pandoc

Los usuarios de Windows están de suerte. Instalar Pandoc en Windows ahora es muy fácil. Se puede hacer desde R con el paquete installr. Una vez instalado este paquete en R, ejecutaremos la instrucción

library(installr)
install.pandoc()


y ya está.
En otros sistemas operativos, como Ubuntu, podemos utilizar el paquete del repositorio (un poco anticuado) o embarcarnos en las instrucciones para bajarnos la última versión:

http://johnmacfarlane.net/pandoc/installing.html

También hay un instalador para Mac OS X.

Referencias

Producing slide shows with Pandoc

http://yihui.name/en/2012/05/how-to-make-html5-slides-with-knitr/

Writing beautiful and reproducible slides quickly


http://www.r-bloggers.com/installing-pandoc-from-r-on-windows/