Graficación con R

Gráficos de barras

Carga de paquetes

# Carga de ggplot2
library(ggplot2)

# Carga de dplyr
library(dplyr)

Conjuntos de datos utilizados

Registros de presencia de mamíferos de Costa Rica
En los siguientes ejemplos y ejercicios, se utilizará un conjunto de registros de presencia de mamíferos de Costa Rica, obtenido a través de una consulta al portal de datos de la Infraestructura Mundial de Información en Biodiversidad (GBIF).

# Carga de datos desde un archivo CSV (separado por tabuladores)
registros_mammalia_cr <- 
  read.csv(
    file='https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/gbif/mammalia-cr-registros.csv', 
    sep = "\t"
  )
# Despliegue de los datos
View(registros_mammalia_cr)

Paquete base

Barras simples

Cantidad de registros por año

# Generación de un nuevo data frame
registros_agrupados_x_anyo <-
  registros_mammalia_cr %>%
  dplyr::count(year)

# Gráfico de barras verticales
barplot(
  registros_agrupados_x_anyo$n, 
  names.arg = registros_agrupados_x_anyo$year,
  main = "Cantidad de registros de mamíferos por año",
)
# Gráfico de barras horizontales
barplot(
  registros_agrupados_x_anyo$n, 
  names.arg = registros_agrupados_x_anyo$year,
  main = "Cantidad de registros de mamíferos por año",
  horiz = TRUE,
  las=1
)

Cantidad de registros por orden taxonómico

# Generación de un nuevo data frame
registros_agrupados_x_orden <-
  registros_mammalia_cr %>%
  dplyr::count(order)

# Gráfico de barras verticales
barplot(
  registros_agrupados_x_orden$n, 
  names.arg = registros_agrupados_x_orden$order,
  main = "Cantidad de registros por orden taxonómico de mamíferos",
)
# Gráfico de barras horizontales
par(mai=c(1, 2, 1, 1))
barplot(
  registros_agrupados_x_orden$n, 
  names.arg = registros_agrupados_x_orden$order,
  main = "Cantidad de registros por orden taxonómico de mamíferos",
  horiz = TRUE,
  las=1
)

Cantidad de registros de carnívoros por familia taxonómica

# Generación de un nuevo data frame
registros_carnivora_agrupados_x_familia <-
  registros_mammalia_cr %>%
  filter(order == "Carnivora") %>%
  dplyr::count(family)

# Gráfico de barras horizontales
par(mai=c(1, 2, 1, 1))
barplot(
  registros_carnivora_agrupados_x_familia$n, 
  names.arg = registros_carnivora_agrupados_x_familia$family,
  main = "Cantidad de registros por familia de carnívoros",
  horiz = TRUE,
  las=1
)

Cantidad de registros de felinos por especie

# Generación de un nuevo data frame
registros_felidae_agrupados_x_especie <-
  registros_mammalia_cr %>%
  filter(family == "Felidae") %>%
  dplyr::count(species)

# Gráfico de barras horizontales
par(mai=c(1, 2, 1, 1))
barplot(
  registros_felidae_agrupados_x_especie$n, 
  names.arg = registros_felidae_agrupados_x_especie$species,
  main = "Cantidad de registros por especie de felinos",
  horiz = TRUE,
  las=1
)

Ejercicio:
Haga un gráfico de barras que muestre la cantidad de registros por especie de felinos o de caninos.

ggplot2

Barras apiladas

Cantidad de registros de felinos por especie y tipo de registro (basis or record)

# Generación de un nuevo data frame
registros_felidae_agrupados_x_especie_tiporegistro <-
  registros_mammalia_cr %>%
  filter(family == "Felidae") %>%
  dplyr::count(species, basisOfRecord)

# Gráfico de barras apiladas
ggplot(
  registros_felidae_agrupados_x_especie_tiporegistro, 
  aes(x = species, y = n, fill = basisOfRecord)
) +
  geom_col() +
  coord_flip()

Barras agrupadas

Cantidad de registros de felinos por especie y tipo de registro (basis or record)

# Gráfico de barras apiladas
ggplot(
  registros_felidae_agrupados_x_especie_tiporegistro, 
  aes(x = species, y = n, fill = basisOfRecord)
) +
  geom_col(position = "dodge") +
  coord_flip()

Ejercicio:
Para los dos últimos gráficos:
- Ordene las barras por tamaño, de mayor a menor.
- Coloque las etiquetas de cantidades (n) al final de cada barra.
- Agregue títulos para los gráficos y para los ejes x e y.

Corrections

If you see mistakes or want to suggest changes, please create an issue on the source repository.

Reuse

Text and figures are licensed under Creative Commons Attribution CC BY-SA 4.0. Source code is available at https://github.com/gf0604-procesamientodatosgeograficos/2021i-leccion-10/, unless otherwise noted. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".