Tarea 4 - Grupo 001

Fecha y hora límite de entrega

Jueves 27 de junio de 2024, 11:00 a.m.

Descripción general

Esta tarea consiste en desarrollar un tablero de control en Quarto Dashboards que presente tablas, gráficos estadísticos y mapas sobre registros de presencia y especies de reptiles de Costa Rica. El tablero debe publicarse como un sitio web en GitHub Pages.

Objetivos

Cada estudiante debe mostrar que es capaz de:

  1. Escribir código fuente en el lenguaje de programación R y utilizar funciones de los paquetes DT, Tidyverse, Plotly, Leaflet y otros para leer datos, procesarlos y generar visualizaciones en forma de tablas, gráficos estadísticos y mapas.
  2. Desarrollar tableros de control con Quarto Dashboards que presenten las visualizaciones de datos en una forma organizada y atractiva para el usuario final.
  3. Publicar documentos Quarto como páginas web en GitHub Pages.
  4. Analizar y corregir errores de programación.

Conjuntos de datos

Para realizar esta tarea, debe utilizar tres conjuntos de datos (puede descargarlos en los enlaces):

  1. Regiones socioeconómicas de Costa Rica
    Este conjunto de datos está contenido en el Atlas Digital de Costa Rica 2014 y fue facilitado por el Ministerio de Planificación (Mideplán). Los nombres de las regiones se actualizaron a la versión más reciente. Las geometrías se simplificaron para reducir el tamaño del archivo.

  2. Registros de presencia de reptiles de Costa Rica.
    Este archivo CSV proviene de una consulta al portal de datos de la Infraestructura Mundial de Información en Biodiversidad (GBIF) (https://doi.org/10.15468/dl.7526ez). Contiene una fila por cada registro de presencia y atributos como el nombre de la especie (species) y las coordenadas geográficas del registro (decimalLongitude, decimalLatitude), entre otros. Se suprimieron las filas con identificaciones en niveles superiores a especie.

  3. Especies de reptiles de Costa Rica.
    Este archivo CSV también proviene de una consulta al portal de datos de la Infraestructura Mundial de Información en Biodiversidad (GBIF) (https://doi.org/10.15468/dl.845zca). Contiene una fila por cada especie. Se suprimieron las filas con taxones en niveles superiores a especie y se conservaron solo dos columnas de datos:

    • species: nombre de la especie.
    • iucnRedListCategory: categoría de la especie en la Lista Roja de la UICN.

La Lista Roja de Especies Amenazadas de la Unión Internacional para la Conservación de la Naturaleza (UICN) es un inventario del estado de conservación de especies de animales y plantas a nivel mundial. La Lista Roja asigna a las especies una de las siguientes categorías:

  • EX (Extinta)
  • EW (Extinta en estado silvestre)
  • CR (En peligro crítico de extinción)
  • EN (En peligro de extinción)
  • VU (Vulnerable)
  • NT (Casi amenazada)
  • LC (Preocupación menor)
  • DD (Datos insuficientes)
  • NE (No evaluada)

Entregables

Debe entregar dos direcciones web:

  1. Dirección de un repositorio en GitHub (ej. https://github.com/mfvargas/reptiles-costarica) con el código fuente y los datos. Específicamente, el repositorio debe contener:
    1. Un documento Quarto llamado index.qmd con el código en R y la sintaxis Markdown necesarios para generar un tablero de control con las salidas especificadas en la sección Desarrollo.
    2. Un documento llamado index.html generado a partir de index.qmd.
    3. Los tres archivos de datos.
    4. El directorio index_files.
  2. Dirección de un sitio web en GitHub Pages publicado a partir del repositorio GitHub del punto 1 de esta sección (ej. https://mfvargas.github.io/reptiles-costarica/).

La entrega debe realizarse a través de la plataforma Mediación Virtual.

Desarrollo

El tablero de control desarrollado en Quarto Dashboards debe contener las siguientes visualizaciones de datos.

1 - Tabla de cantidad de registros de presencia por categoría de Lista Roja

Debe ser una tabla interactiva generada con el paquete DT con una fila por categoría y dos columnas:

  • Abreviatura de la categoría (EX, EW, CR, etc.).
  • Cantidad de registros de presencia de especies de reptiles en la categoría.

Los encabezados de la tabla deben estar en español y ser significativos.

Sugerencias

  • Una la columna iucnRedListCategory, del conjunto de datos de especies, al conjunto de datos de registros de presencia. Use una función de unión (join) no espacial, con la columna species que ambos conjuntos de datos tienen en común.
  • Use el argumento colnames de la función datatable() para especificar los encabezados de las columnas.

2 - Gráfico de barras de cantidad de registros de presencia de las clases Squamata (lagartos y serpientes), Testudines (tortugas) y Crocodylia (cocodrilos y caimanes)

Debe contener una barra por cada clase (columna class) mencionada y su longitud debe mostrar la cantidad de registros de presencia en esa clase. Las barras deben estar ordenadas por longitud (de mayor a menor o de menor a mayor).

El gráfico deben programarse con ggplot2 y convertirse a plotly con la función ggplotly(). Debe tener:

  • Título (puede asignarlo directamente en el gráfico o con la opción #| title del bloque de código).
  • Etiquetas en los ejes x e y.

3 - Mapa de riqueza de especies de la familia Iguanidae (iguanas y garrobos) en regiones socioeconómicas

Debe ser un mapa leaflet interactivo con las siguientes capas y controles:

  • Dos capas base de tipo tiles (teselas) (ej. OSM, Carto, ESRI).
  • Una capa de regiones socioeconómicas (polígonos) coloreada de acuerdo con la riqueza de especies (i.e. cantidad de especies) de Iguanidae en cada región socioeconómica (i.e. un mapa de coropletas). Al hacer clic sobre un polígono, la ventana emergente debe mostrar el nombre de la región y la cantidad de especies.
  • Una leyenda que muestre el significado de los colores usados en la capa de regiones socioeconómicas.
  • Un control de capas.

4 Gráfico de barras de riqueza de especies de la familia Iguanidae en regiones socioeconómicas

Debe contener una barra por cada región socioeconómica y su longitud debe mostrar su riqueza de especies de Iguanidae. Las barras deben estar ordenadas por longitud (de mayor a menor o de menor a mayor).

El gráfico deben programarse con ggplot2 y convertirse a plotly con la función ggplotly(). Debe tener:

  • Título (puede asignarlo directamente en el gráfico o en la opción #| title del bloque de código).
  • Etiquetas en los ejes x e y.

Calificación

  1. Presentación general del tablero de control (organización, distribución de los componentes): 20%
  2. Tabla: 15%
  3. Primer gráfico: 20%
  4. Segundo gráfico: 20%
  5. Mapa: 25%

Utilice todos los recursos que considere necesarios para organizar los componentes en el tablero de control: filas, columnas, páginas, pestañas, etc. Puede colocar los componentes en el orden que considere apropiado.

Consideraciones adicionales

  1. La tarea debe presentarse como un tablero de control desarrollado en Quarto Dashboards y no como otro tipo de documento.
  2. Esta tarea puede presentarse individualmente o en parejas. En este último caso, solo un estudiante debe presentar la tarea en Mediación Virtual y debe indicar ahí el nombre del otro estudiante.
  3. Si solo se entrega la dirección del repositorio en GitHub, y no el sitio publicado o este no es consistente con el código fuente del repositorio, se rebajará el 25% del valor de la tarea. RECOMENDACIÓN: genere el sitio web desde el inicio y actualícelo continuamente. No lo deje para última hora.
  4. No se aceptarán tareas que se entreguen después de la fecha y hora límite.