sábado, 31 de mayo de 2014

Knitr: integrar código R en archivos de distintos formatos

Knitr

Knitr es un paquete nuevo de R que permite integrar código R en archivos de distintos formatos (ver tabla 1 y figura 1). Es más potente que los anteriores paquetes Sweave, pdfSweave o cacheSweave.

Ver la entrada anterior sobre knitr.



Format Source file ending Output R Code Chunk R expression
Rnw Rnw (.Rnw) Tex, pdf
<<R example>>=
x <- 1+1
rnorm(5)
@
\Sexpr{pi}
Github format markdown Markdown (.Rmd or .md) md, html
``` {r example}
x <- 1+1
rnorm(5)
```
`r pi`.
HTML Rhtml .html
<!--R example
x <- 1+1
rnorm(5)
end.rcode-->
<!--rinline pi -->
reStructuredText .Rst .rst .. {R example}

.. x <- 1+1
.. rnorm(5)

.. ..

NOTE:include space after the ..
:r:`pi`

Tabla 1. Tipos de archivos que maneja knitr. Fuente: http://www.rstudio.com/shiny/







Aquí tienes una introducción al paquete knitr.

Knitr nos permite utilizar Markdown y R juntos! 

¿Que puede hacer markdown por mi?

  •  Quiero olvidarme del instrumento para pensar sólo en lo que estoy escribiendo
  •  Quiero escribir sin preocuparme del aspecto
  •  Quiero reutilizar lo que ya sé
  •  Quiero índices, bibliografía, …
  •  Quiero documentos ligeros
  •  Quiero escribir como me convenga, para el lector lo que necesite
  •  Quiero poder recortar y pegar a sin problemas
  •  Quiero trabajar con mis colegas

Proceso en investigación reproducible

  1. Elaboración del documento donde se auna la escritura del código y los textos necesarios. En markdonw y R la extensión del fichero es .Rmd
  2. Procesado del documento por la aplicación correspondiente a lenguaje de trabajo, en nuestro caso R. Creación de un documento en el formato deseado; en nuetro caso un documento .md
  3. Procesado, en su caso, del documento resultante, por ejemplo: elaboración de un documento .pdf.

Para un adecuado seguimiento del trabajo, al final o el inicio, conviene añadir:

print(sessionInfo(), locale = FALSE)

Tipos de archivos que podemos generar

En un post anterior, he colgado un video sobre cómo usar knitr, mediante archivos Rnw y Rmd.

Rnw

Descargar el archivo exampleSweave.rnw.
  • Para construir un archivo tex.
Sweave(file="exampleSweave.Rnw")
  • Para convertir el archivo tex a un pdf.
tools::texi2dvi(file="exampleSweave.tex", pdf=TRUE)

  • Para extraer el código R de los trozos o módulos ("chunks").
Stangle(file="exampleSweave.Rnw")
  • Para producir un archivo html.
Sweave("filename.rnw", driver=RweaveHTML)




    library(knitr)
    knit('knitr-minimal.Rnw')


También podemos utilizar el programa pandoc (conversor universal) para convertir el archivo Rnw a otros formatos:



# system("pandoc -s exampleSweave.Rnw -o exampleSweave.pdf") 
# system("pandoc -s exampleSweave.Rnw -o exampleSweave.docx")
# system("pandoc -s exampleSweave.Rnw -o exampleSweave.html")








Rmd



# Create mark down (.md) file 
knit("example.Rmd")
knit2html("example.Rmd")
knit2pdf("example.Rmd")

 manipular

require(knitr)
# Produce the markdown (.md) file
knit("example.Rmd")

# help on the output and input formats accepted which include json, html, html5, odt, docx and epub and slide formats slidy, beamer, dzslides etc
system("pandoc -h")
# pdf file
pandoc("example.md", format="latex")
# html file
pandoc("example.md", format="html5+lhs")
# OpenOffice File
pandoc("example.md", format="odt")
# Microsoft Word
pandoc("example.md", format="docx")


Podemos ver el archivo Rmd de entrada slides.Rmd y el archivo html de salida slides.html.



También podemos utilizar pandoc de la siguiente manera.



knit("slides.Rmd")
 system("pandoc -s -S -i -t dzslides --mathjax slides.md -o slides.html")






Programas relacionados con knitr

Slidify: resultados html5

Un paquete relacionado con knitr es Slidify (http://ramnathv.github.io/slidify/), que permite realizar presentaciones html5 a partir de nuestros archivos Markdown.

Ayuda a crear, personalizar y compartir documentos elegantes, dinámicos e interactivos a través de HTML5 - R - Markdown.












 

Información extra que puedes necesitar.

  • Cómo instalar Lyx-LATEX









  • Diferencias entre Sweave y Knitr


  • 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()


  • Utilizar pander: el paquete Pandoc en R


Read more...

viernes, 30 de mayo de 2014

Mendeley: gestor de referencias bibliográficas, interfaz con Word y citas-Web

¿Qué es Mendeley? Free reference manager and PDF organizer

Mendeley está formado por un gestor de referencias bibliográficas (Mendeley Desktop, versión local) y una red social académica (Mendeley web, versión web). Por tanto, permite encontrar, gestionar y compartir documentos de investigación y colaborar en línea con otros investigadores.


Principales ventajas

  • Crear carpetas
  • Añadir referencias manualmente, mediante web o pdf.
  • Completar datos bibliográficos a mano o ayudarnos con Google Scholar.
  • Insertar referencias en Word (con diversos estilos).
  • Editar y clasificar los documentos (girar, eliminar duplicados, etc.).
  • Resaltar y realizar anotaciones; y exportarlas.
  • Buscar duplicados
  • Sincronizar con Mendeley web
  • Importar citas desde la web
  • Trabajar con los documentos
  • Elegir el estilo de la cita bibliográfica.
Les recomiendo mirar el tutorial de Julio Alonso de la Universidad de Salamanca y la guía de uso de Carmen Rodríguez (ver debajo).






Comparación de softwares de manejo de referencias.

Desarrollado por Elsevier se trata de un software que no es de acceso libre (si gran contra), pero ofrece 2 GB de espacio online y gratuito para nuestros documentos (a diferencia de los 300 MB que ofrece Zotero) y trabaja con Windows, Linux, OS X, iPhone & iPad (ver comparación con otros softwares).

Soporte

  • Importar documentos
  • Generar citas
  • Organizar tu librería
  • Grupos públicos y privados en Mendeley
  • Crear tu perfil Mendeley

Videos & Tutorials

Learn quickly how to use Mendeley features with these short videos, tips and tricks.
View all videos








Read more...

jueves, 29 de mayo de 2014

Logo, vuelve la tortuga con TurtleGraphics en R!

No pude contenerme. Navegando en busca de ampliar algunas herramientas de R, me he topado con este proyecto que me ha recordado mi niñez. Se trata del paquete  TurtleGraphics que acerca a R el programa Logo. Logo es un lenguaje de programación creado por los años sesenta y que sirve para trabajar con niños y jóvenes dado que es muy sencillo. Recuerdo conocerlo gracias al profesor de informática de la escuela cuando era muy pequeña; era aquella tortuga que hacíamos girar y crear mandalas con algunas pequeñas órdenes. Bueno, la tortuga ha dado el salto y ya está en R! me parece genial esta oportunidad de acercar el lenguaje de programación a los niños y además enseñarles programas con tanto potencial como R.

Aquí tienen un manual Paso a Paso para aprender a manejar esta tortuga en R.  Con una lista de órdenes sencillas podemos crear gráficos como el siguiente:



Fundamentalmente consiste en presentar a los niños retos intelectuales que puedan ser resueltos mediante el desarrollo de programas en Logo. El proceso de revisión manual de los errores contribuye a que el niño desarrolle habilidades metacognitivas al poner en práctica procesos de autocorrección. Es conocido por poder manejar con facilidad gráficas tortuga, listas, archivos y recursividad

instalaciones conocidas en el lenguaje de programación Logo. La idea clave detrás del paquete es animar a los niños a aprender a programar y demostrar que el trabajo con los ordenadores puede ser divertido y creativo. 

Sobre el paquete  TurtleGraphics
El paquete TurtleGraphics permite crear gráficos simples o más sofisticados sobre la base de líneas. La tortuga, descrito por su ubicación y orientación, se mueve con comandos que están en relación con su posición. La línea que deja tras de sí se puede controlar mediante la desactivación o estableciendo su color y tipo.

El paquete TurtleGraphics ofrece funciones para avanzar o retroceder por una distancia determinada y girar la tortuga por un ángulo elegido. Distintas opciones de gráficos, por ejemplo, el color, el tipo o la visibilidad de la línea, también se pueden cambiar fácilmente. 
Le recomendamos que lo pruebes tú mismo. Disfrutar y divertirse!

Read more...

Libros para descargar (gratis)