Taller Caldum: Introducción: R + knitr + markdown

Antonio Murandi

José Antonio Palazón

Murcia, 24 de julio de 2012

Una cita

My grandfather once told me there are two kinds of people:

Those who do the work and those who take the credit. He told me to try to be in the first group; there was much less competition."

–– Indira Gandhi, the late Prime Minister of India

Objetivos y fundamentos

Objetivos

¿Qué vamos a ver?

Investigación reproducible

¿Por donde empezar?

De nerds, humanos y cultura

Condenados a no entendernos …

¿TIC o TI?

Trabajando racionalmente

Lenguajes

Herramientas generales

Herramientas de autor

RStudio

Breve repaso a las características de Rstudio

Ventajas de Rstudio

Creación de un proyecto

Ejercicio

# Sumar los diez primeros enteros
sum( 1:10 )
# Representar la función seno
( curve( sin, -pi, pi, col=3, lwd=4 ) )
abline( v=0, h=0, col="grey", lwd=2)

Markdown

Aspectos básicos de markdown

¿Que puede hacer markdown por mi?

Un lenguaje de marcas

Conceptos básicos de la sintaxis

Elementos básicos

Uso adecuado de las fuentes

Ejercicio

% Dos estadísticos básicos
% Autor
% Taller Caldum, 24 de julio de 2012

# De la media

# De la varianza

Avanzando con markdown

Fórmulas

Ejercicio

Gráficos, enlaces, bibliografía …

Ejercicio

Incluye en el documento:

¿Algún problema?

Knitr

Investigación reproducible con R

Documentación del proyecto

Ventajas e inconvenientes de knitr

 

Elementos en investigación reproducible

# Ejemplo de IR

Esto es un ejemplo para ver la unión
de un texto y un _chunck_ en el documento
fuente:

```{r}
sum(1:10)
plot(1:10)
```

Cuando R procese este documento
se incluirá los resultados de la
suma y el gráfico indicado en el
_chunk_.

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.

Ejercicio

x <- c( 53, 56, 47, 30, 54, 2, 62, 25, 25, 53 )
mean(x)
var(x)

Usando directamente la librería knitr

chunks: opciones, valores en las frases

chunks: opciones, ocultando código

chunks: opciones

chunks: opciones

chunks: opciones

 

Pero yo, yo amo el zarzal

Pero yo, amo el zarzal

Extrayendo el código de todos lo chunks

Organizando el proyecto

─── proyectoX
    ├── dat
    ├── img
    ├── doc
    ├── html
    │
    ├── Leeme
    ├── informe.Rmd   informe.md
    │
    ├── bibliografia.bib
    │
    └── .Rhistory .RData

Organizando el proyecto

─── proyectoX
    ├── dat
    │   ├── datos.csv
    │   └── variables.csv
    ├── img
    │   ├── imagen1.png   imagen3.png   
    │   └── dibujo1.svg   dibujo4.pdf  ...  
    ├── doc
    │   ├── informe.doc
    │   └── plantilla.doc
    ├── html
    │   ├── estilo.css
    │   └── informe.html
    │
    └── .. 

Para un adecuado seguimiento del trabajo

Al final o el inicio, según preferencias, conviene añadir:

print(sessionInfo(), locale = FALSE)

R version 2.15.1 (2012-06-22)
Platform: x86_64-pc-linux-gnu (64-bit)

attached base packages:
[1] stats     graphics  grDevices utils     
[4] datasets  methods   base     

other attached packages:
[1] knitr_0.7

loaded via a namespace (and not attached):
[1] digest_0.5.2   evaluate_0.4.1 formatR_0.4    
[4] markdown_0.5.2 parser_0.0-14  plyr_1.7.1     Rcpp_0.9.10   
[8] stringr_0.6    tools_2.15.1  

Algunas referencias

Documentación sobre knitr