Objetivos

  1. Aprender a utilizar Rstudio para crear presentaciones en html.

  2. Repasar el uso de funciones de tidyverse para la manipulación de datos, flextable() para la presentación, ggplot para los gráficos y tabyl (paquete janitor) para la elaboración de tablas de frecuencias.

 

 

 

 

1. Presentaciones html con R

 

Generar un archivo Rmarkdown que genere una presentación similar a la presentación sobre las tortugas que se encuentra en la web de la asignatura, y que contenga las siguientes cuatro transparencias:

  1. Título de la presentación: Estudio del anidamiento de Caretta caretta en Boavista, autor y foto alusiva.

  2. Objetivos.

  3. Material y métodos.

  4. Tabla de frecuencias y gráfica para comparar la presencia/ausencia de cangrejos en las distintas playas (ya construidas en la práctica 4)

 

 

 

1.1 Preparación de un archivo RMarkdown para transparencias

Para crear un archivo Rmarkdown de tipo presentación, en el menú de Rstudio hay que ir a File -> New File -> Rmarkdown. Rstudio nos presentará la siguiente ventana:

A la izquierda pinchamos en Presentation, y Rstudio nos presenta varios formatos de presentación:

Elegimos HTML (Slidy) y pinchamos OK. R nos mostrará entonces la plantilla por defecto para generar una presentación:

 

Los puntos importantes a tener en cuenta son:

  • En la cabecera del archivo, después del título, el autor y la fecha aparece output: slidy_presentation que indica que al procesar el archivo se obtendrá una presentación de transparencias html con formato slidy

  • Cada nueva transparencia empieza con un doble hashtag (##) que puede ir acompañado (o no) de un título para esa transparencia.

  • Las transparencias pueden incluir chunks de R con código para generar resultados (tablas, gráficos, valores, …)

  • Se pueden usar asteriscos (*) o guiones (-) para escribir listas.

Sin modificar nada en la plantilla, cuando pinchamos en el botón knit en la parte superior de la ventana de Rstudio, el archivo con la plantilla se procesa (Rstudio nos pedirá un nombre para guardarlo) y se crea un archivo html con el mismo nombre, que Rstudio muestra automáticamente; este archivo html se guarda en nuestro directorio de trabajo y puede abrirse con cualquier navegador (Firefox, chrome, safari, explorer, …).

 

Por defecto, la transparencia inicial incluye el título, autor y fecha que figuran en el encabezado del documento Rmd (rmarkdown).

 

 

 

1.2 Generación de una transparencia con el título y una imagen

Como hemos visto, al procesar el archivo plantilla que ofrece Rstudio, la transparencia de título solo contiene texto. Para conseguir que la transparencia de título contenga una imagen tenemos que hacer algunas modificaciones:

  • Eliminamos las lineas de título, autor y fecha de la cabecera del archivo, y borramos el resto de la plantilla. El archivo debe quedar en blanco, a excepción de las lineas:





      

 

En realidad aquí estamos usando código html para dar formato al texto:

  • Para centrar un texto usamos <center> para comenzar a centrar y </center> para terminar.

  • Para poner la letra en tamaño título ponemos <h1> antes del texto que queremos usar como título y </h1> al final.

  • Para poner la letra en un tamaño más pequeño usamos <h3> para empezar y </h3> para terminar

Estos códigos son marcas html para indicar cabeceras de distinto tamaño, h1 el más grande hasta h6 el más pequeño.

 

Cuando pinchamos en knit obtenemos como resultado la siguiente transparencia:

 

 

 

1.3 Generación de una transparencia con los objetivos del trabajo

Para generar una nueva transparencia empezamos con doble hashtag (##) y el título de esa transparencia. A continuación redactamos la lista de objetivos del trabajo, cada objetivo después de un asterisco (*):




 

La barra invertida seguida de dos espacios (\ ) tiene por objetivo insertar un salto de linea adicional.

 

 

 

1.4 Generación de una transparencia con el material y método empleados.

De igual forma que en el caso anterior, iniciamos una nueva transparencia con el doble hashtag (##) y el título, seguidos del contenido (texto) de la transparencia, debidamente ordenado:




 

El texto contenido entre dos dobles barras bajas se reproduce en negrilla.

 

 

 

1.5 Transparencia con tabla de frecuencias y gráfica

Vamos a construir ahora una transparencia que incluya la tabla y la gráfica para comparar la presencia/ausencia de cangrejos en las distintas playas que ya hemos construido en la práctica 4. Recordemos el código necesario:

  • Tabla:

cangrejos

Calheta

Ervatao

Ponta Cosme

Porto Ferreiro

Total

No

31.7%

45.2%

27.5%

27.7%

33.9%

Si

68.3%

54.8%

72.5%

72.3%

66.1%

 

  • Gráfica:

 

Las tablas generadas con flextable() no se llevan bien con las transparencias html (el paquete flextable va orientado sobre todo a que las tablas se reproduzcan bien en Word y no necesariamente en otros formatos, si bien el autor asegura que está trabajando en que flextable deje de tener estas limitaciones). Para que una tabla construida con flextable se pueda reproducir en una presentación html es necesario que la tabla se procese en último lugar mediante la función htmltools_value() y que además el resultado sea asignado a un objeto, del modo siguiente:

cangrejos

Calheta

Ervatao

Ponta Cosme

Porto Ferreiro

Total

No

31.7%

45.2%

27.5%

27.7%

33.9%

Si

68.3%

54.8%

72.5%

72.3%

66.1%

 

De esta forma, el código para generar la última transparencia sería el siguiente:




 

y el resultado obtenido:

 




 

 

1.6 Resultado final

El archivo Rmarkdown con la presentación que hemos generado puede descargarse en este enlace (pinchar en el enlace con el botón derecho y elegir “Guardar enlace como…”). La imagen que figura en el título puede descargarse de aquí y debe guardarse en la misma carpeta que el archivo Rmd anterior.

Si abrimos este archivo con Rstudio y pinchamos en knitr se generará una presentación en html que coincide con la que puede verse en este enlace