lunes, 3 de agosto de 2009

LaTeX y R


Si queremos elaborar un documento dinámico o programable que combine texto y resultados estadísticos, tanto numèricos como gráficos, la mejor opción es utilizar LaTeX y R.

Para quien no conozca LaTeX diré que es un sofisticado procesador de textos que se utiliza especialmente con documentos científicos. Aunque su aprendizaje no es sencillo, vale la pena dedicarle un tiempo. Cuando se domina, los otros procesadores sólo se utilizan con textos elementales.
Para aprender LaTeX se puede empezar por la web de CervanTeX y leer el manual La introducción no-tan-corta a LaTeX2e.

Pero si ya sabes un poco de LaTeX, combinarlo con R es muy fácil. La idea es escribir un archivo con extensión .Rnw con código LaTeX normal y texto y añadirle trozos de código R (chunks).

El texto normal empieza con el signo "@", mientras que el código R empieza con "<<>>="

<<Argumento1=ValorDelArgumento1, Argumento2=ValorDelArgumento2, ...>>=
Código R

@
Texto normal y código LaTeX


Una vez redactado el documento combinado, se utiliza la función Sweave() de R para procesarlo y obtener un documento LaTeX, con extensión .tex, que contiene el texto original y los resultados, cálculos y gráficos demandados por el código R insertado. Posteriormente, el archivo .tex se procesará como es habitual en LaTeX para obtener el documento definitivo: .ps, .pdf,...

La función Stangle() permite extraer todo el código R del documento combinado (los chunks) en un archivo con extensión .R.

Un sencillo manual de Sweave.
Leer más en http://www.traba.org/wikitraba/index.php/Sweave

2 comentarios:

  1. Hola que tal me gustaria saber si en vez de correr un documento en la consola de R-sudio (en un documen R Sweave) se podría corre en texmaker...Saludos

    ResponderEliminar
    Respuestas
    1. Por supuesto. Texmaker está preparado para trabajar con documentos Rnw de Sweave. Pero también con documentos knitr:

      https://yihui.name/knitr/demo/editors/

      Además, es posible trabajar simultáneamente con documentos en RStudio y Texmaker:

      https://stanford.edu/~vbauer/teaching/sweave.html

      Eliminar