José Antonio Palazón Ferrando
2012-May-01 12:59 UTC
[R-es] knitr + markdown: simplemente útil
Hola: Ya se ha comentado aquí algo sobre knitr, creo que la alternativa a Sweave (al que le tengo un gran cariño). La cosa va muy bien y lejos, os comento muy breve y os adjunto dos ficheros para muestra. Estoy buscando una forma de escribir potente y ágil para que los alumnos trabaje al cien por cien sin necesidad de aprender LaTeX (aqltugc). Para eso había encontrado markdown pero ¿cómo hacer investigación reproducible con markdown? Bien Yihui Xie, autor del paquete knitr, lo ha conseguido, alucino. Ved el ejemplo Para mas información sobre markdown daos una vuelta por: http://servbiob.inf.um.es/proyectos/public/projects/markdown-umu/wiki Espero que os sea útil, a los que trabajen con rails seguro. -- ____________________________________________________________ José Antonio Palazón Ferrando Profesor Titular. Departamento de Ecología e Hidrología. Facultad de Biología. Universidad de Murcia. Campus Universitario de Espinardo 30100 MURCIA-SPAIN Telf: +34 968 36 49 80 Fax : +34 968 36 39 63 Email: palazon en um.es ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: basico.pdf Type: application/pdf Size: 127678 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20120501/f08d3c60/attachment-0001.pdf> ------------ próxima parte ------------ % Uso de R con markdown mediante `knitr` % Original de Yihui Xie modificado para R-es % [Version 0.5](http://cran.r-project.org/web/packages/knitr/index.html) # Alucinane Pedes utilizar markdown --lenguaje de marcas mínimo, ágil, preciso y eficiente-- para escribir e incrustar _chunks_ de R al vuelo, sólo tienen que ser marcados como código fuente, es decir, mediante el código: ``` {r uno} (1:10)^2 ``` obtenemos: ``` {r uno} (1:10)^2 ```` Si desamos un gráfico: ``` {r dos, echo=FALSE} hist(rnorm(100e4)) ```` ``` {r dos, echo=FALSE} hist(rnorm(100e4)) ```` Procedimiento para trabajar: 1. Preparar el documento base con extensión `.Rmd` con nuestro editor fa**v**or**i**to 1. Procesar en R mediante la función `knitr()` el fichero knit("fichero.Rmd") 1. Postprocesar el fichero producido, extensión `md` mediante: * `pandoc -s --toc fichero.md -o fichero.html` * si se desea puede utilizarse la extensión `.tex` en la salida para un fichero LaTeX, o cualquier otra de las admitidas por `pandoc`: `rtf`, `.odt`, ... # Ejemplo propuesto por Y. Xie ## Preparación `r opts_chunk$set(fig.width=5, fig.height=5, fig.path='')` This is a minimal example of using **knitr** with in HTML pages. I am actually using markdown here since it is more convenient in GitHub. ## Adelante First, the input file was named as `knitr-minimal.Rmd` ([source](https://github.com/yihui/knitr/blob/master/inst/examples/knitr-minimal.Rmd)), and **knitr** will automatically determine the output filename to be `knitr-minimal.md` (`*.Rmd --> *.md`). I used the code below to make sure **knitr** writes correct URL's for my images. ``` {r setup} opts_knit$set(base.url='https://github.com/yihui/knitr/raw/master/inst/examples/') ```` ## Calculado * Now we write some code chunks in this markdown file: ``` {r} ## a simple calculator 1+1 ## boring random numbers set.seed(123) rnorm(5) ```` * We can also produce plots: ``` {r md-cars-scatter, message=FALSE} library(ggplot2) qplot(hp, mpg, data=mtcars)+geom_smooth() ```` So no more hesitation on using GitHub and **knitr**! You just write a minimal amount of code to get beautiful output on the web.