1 Introducción a R Markdown

El entorno R Markdown es un marco de creación de código abierto que permite la elaboración de documentos dinámicos y reproducibles al entrelazar texto narrativo, código ejecutable y las visualizaciones de datos resultantes en un único archivo.

1.1 Composición de un Archivo.Rmd: Los Tres Componentes Centrales

El archivo .Rmd que RStudio genera no es una página en blanco; es una plantilla útil que ilustra la estructura fundamental de cualquier documento R Markdown. Esta estructura se compone de tres tipos de contenido distintos

1.1.1 El Encabezado YAML

Ubicado en la parte superior del archivo, delimitado por líneas de tres guiones (---). Esta sección funciona como el panel de control del documento, donde se definen metadatos como el título, el autor y, lo más importante, el formato de salida y sus opciones.

1.1.2 Texto en Markdown

El cuerpo principal del documento, donde se escribe la narrativa. Este texto utiliza la sintaxis de Markdown para aplicar formato, como encabezados, negritas, listas y enlaces. Es la parte del documento destinada a ser leída por humanos.

1.1.3 Trozos de Código R (Code Chunks)

Bloques de código R incrustados, delimitados por tres acentos graves (`) y {r}. Aquí es donde reside la parte analítica del documento. knitr ejecutará este código y su salida (tablas, gráficos, etc.) se insertará en el documento final.

1.2 Escritura en R Markdown

Markdown es un lenguaje de marcado ligero diseñado para ser fácil de escribir y leer en su forma de texto plano.

  • Encabezados:

Se utilizan almohadillas (#) para crear encabezados de sección. El número de almohadillas corresponde al nivel del encabezado, desde # (nivel 1) hasta ###### (nivel 6).  

Título Principal (Nivel 1) (#)

Sección Principal (Nivel 2) (##)

Subsección (Nivel 3) (##)

  • Énfasis:

Cursiva: *texto en cursiva* o texto en cursiva.

Negrita: **texto en negrita** o texto en negrita.

Tachado: texto tachado.~~texto tachado~~

Superíndice: textosuperíndice.

Subíndice: H2O produce H2O.

  • Listas:

No ordenadas: Se pueden usar asteriscos (*), guiones (-) o signos de más (+).

  • Primer elemento

  • Segundo elemento

– Subelemento anidado

  • Ordenadas:

Se usan números seguidos de un punto. La numeración se ajusta automáticamente, por lo que se puede usar 1. para cada elemento.  

  1. Primer paso

  2. Segundo paso

  3. Tercer paso

Citas en Bloque y Reglas Horizontales:

Citas: Se usa el símbolo de mayor que (>) al principio de una línea.  

“La reproducibilidad es la piedra angular de la ciencia.”

  • Tablas:

Se puede crear tablas simples utilizando tuberías (|) y guiones. Para tablas más complejas generadas a partir de datos, es mejor usar funciones de R como

Cuando se presiona el botón Knit se generará un documento que incluye una conexión entre el código y una presentación formal literaria.

Se puede generar código como el siguiente:

summary(cars)
##      speed           dist       
##  Min.   : 4.0   Min.   :  2.00  
##  1st Qu.:12.0   1st Qu.: 26.00  
##  Median :15.0   Median : 36.00  
##  Mean   :15.4   Mean   : 42.98  
##  3rd Qu.:19.0   3rd Qu.: 56.00  
##  Max.   :25.0   Max.   :120.00

O de mejor manera:

kableExtra::kable(summary(cars))
speed dist
Min. : 4.0 Min. : 2.00
1st Qu.:12.0 1st Qu.: 26.00
Median :15.0 Median : 36.00
Mean :15.4 Mean : 42.98
3rd Qu.:19.0 3rd Qu.: 56.00
Max. :25.0 Max. :120.00

1.2.1 Gráficos

Ejemplo:

plot(pressure)

1.2.2 Expresiones Matemáticas

R Markdown soporta ecuaciones con formato LaTeX.

  • En línea: Se encierran entre signos de dólar simples: $E = mc^2$ produce \(E = mc^2\)

  • En bloque (display): Se encierran entre signos de dólar dobles: \[\sum_{i=1}^{n} x_i\] produce

1.2.3 Creación de Trozos de Código

Existen tres formas sencillas de insertar un nuevo trozo de código en RStudio :

  • Atajo de teclado: Ctrl + Alt + I (en Windows/Linux) o Cmd + Option + I (en macOS).

  • Botón de la barra de herramientas: El botón “Insert” en la parte superior del editor de scripts tiene una opción para insertar un trozo de R.

  • Manualmente: Escribir los delimitadores {r} y .

1.2.4 Opciones Esenciales de los Trozos de Código

Las opciones de los trozos de código, colocadas dentro de las llaves ({}), proporcionan un control preciso sobre cómo se ejecuta el código y cómo se presenta su salida. Dominar estas opciones es clave para pasar de un cuaderno de análisis personal a un informe profesional pulido dirigido a una audiencia específica.

Un análisis en bruto contiene código, salidas, mensajes, advertencias y gráficos. Sin embargo, diferentes audiencias tienen diferentes necesidades. Un colaborador puede querer ver todo el proceso, mientras que un ejecutivo solo querrá ver las conclusiones y los gráficos finales. Las opciones de los trozos de código son el mecanismo que permite a un único archivo fuente .Rmd generar informes distintos y personalizados para cada uno de estos públicos.

echo=FALSE: Oculta el código fuente pero muestra su salida (gráficos, tablas). Esencial para informes dirigidos a audiencias no técnicas.

eval=FALSE: Muestra el código pero no lo ejecuta. Útil para tutoriales o para mostrar código de ejemplo.

include=FALSE: Ejecuta el código pero no incluye ni el código ni su salida en el documento final. Perfecto para trozos de configuración inicial, como la carga de paquetes o datos, que no necesitan ser visibles.

message=FALSE y warning=FALSE: Suprimen los mensajes (por ejemplo, los que aparecen al cargar paquetes) y las advertencias, respectivamente. Esto es crucial para crear un informe final limpio y sin distracciones.

error=TRUE: Permite que el documento se compile (“teja”) incluso si el código en ese trozo produce un error. El error se mostrará en el documento final. Es útil para depurar o para enseñar, mostrando deliberadamente un error.