El paquete knitr: una forma de tejer nuestros informes.
El paquete knitr nos permite generar informes html y pdf mediante módulos (o "chuncks"), y así "tejer" (de ahí el icono de knitr) un documento en pequeñas funciones manejables. En particular, nos permite:- obtener un informe rápido y flexible,
- generar un archivo html (Rmd) o pdf (Rwn),
- integrar herramientas como LATEX (el programa amigable de LATEX que recomiendo -y uso- es LyX).
En el siguiente video se muestra cómo instalar el paquete (simplemente, install.packages("knitr")) y adaptar RStudio para trabajar con él (options->cambiar de Sweave a knitr). Se detallan cómo formar los módulos para trabajar con Rmd y/o con Rnw.
En la página web de knitr podrán obtener archivos de ejemplos para descargar y aprender a usar knitr.
Generar informes pdf con código LATEX
Por ejemplo, para Rnw basta con darle las siguientes órdenes básicas:Primero file->new->Rnw. Verás que el archivo ya comienza con la información básica que necesitas.
\documentclass{article} \usepackage[T1]{fontenc} \begin{document} Here is a code chunk. <<foo, fig.height=4>>= 1+1 letters chartr('xie', 'XIE', c('xie yihui', 'Yihui Xie')) par(mar=c(4, 4, .2, .2)); plot(rnorm(100)) @ You can also write inline expressions, e.g. $\pi=\Sexpr{pi}$, and \Sexpr{1.598673e8} is a big number. \end{document}
Aquí está el resultado en pdf.
Generar informes html con código LATEX
Primero file->new->Rmd. Nuevamente, el archivo comienza con el código básico que necesitamos para construir el documento.
# A minimal R Markdown example A quote: > Markdown is not LaTeX. To compile me, run this in R: library(knitr) knit('001-minimal.Rmd') See [output here](https://github.com/yihui/knitr-examples/blob/master/001-minimal.md). ## code chunks A _paragraph_ here. A code chunk below (remember the three backticks): ```{r} 1+1 .4-.7+.3 # what? it is not zero! ``` ## graphics It is easy. ```{r} plot(1:10) hist(rnorm(1000)) ``` ## inline code Yes I know the value of pi is `r pi`, and 2 times pi is `r 2*pi`. ## math Sigh. You cannot live without math equations. OK, here we go: $\alpha+\beta=\gamma$. Note this is not supported by native markdown. You probably want to try RStudio, or at least the R package **markdown**, or the function `knitr::knit2html()`. ## nested code chunks You can write code within other elements, e.g. a list 1. foo is good ```{r} strsplit('hello indented world', ' ')[[1]] ``` 2. bar is better ## conclusion Nothing fancy. You are ready to go. When you become picky, go to the [knitr website](http://yihui.name/knitr/). ![knitr logo](http://yihui.name/knitr/images/knit-logo.png)
Una vez que guardes los archivos de códigos, para ver los informes solo tienes que poner en la consola de R:
library(knitr) knit('knitr-minimal.Rnw') knit('knitr-minimal.Rhtml') knit('knitr-minimal.Rmd')
En próximas entradas comentaré cómo pasar de un tipo de archivo a otro y nuevas herramientas de knitr a explorar.
Saludos!
Comentarios
Publicar un comentario