test.R

library(tidyverse)
library(leaflet) # interactive cartography

library(butinagepei) # charger les jeux de données


# TABLE ESPECES -----------------------------------------------------------



# # statuts
#
# statuts <- read_csv2(
#     "data-raw/Flore_ReunionCBNM.csv",
#     locale = locale(encoding = "ISO-8859-1"),
#     skip = 5,
#     col_types = cols_only(`NOM BOTANIQUE` = col_guess(), `MENACE RÉUNION` = col_guess())
#   ) %>% # import des colonnes intéressantes
#   rename(latin = "NOM BOTANIQUE", statut = "MENACE RÉUNION") %>% # on renomme les colonnes
#   filter(!is.na(statut)) %>% # on enlève les statuts manquants
#   separate(latin, into = c("g_latin", "e_latin"), extra = "drop") %>% # on sépare les noms latins en genre et espece
#   mutate(
#     espece = str_c(str_sub(g_latin, end = 3), str_sub(e_latin, end = 3)) %>% str_to_upper() # on recrée le code à 6 lettres
#   ) %>%
#   distinct(espece, statut, .keep_all = TRUE) # on conserve les combinaisons uniques
#
#
#
# table(statuts$espece)[table(statuts$espece) > 1] # arrrrgh
# table(statuts$statut)
#
#
# # especes uniques de la table suivi avec info de statut si présente
#
#
# table(suivi$espece)
#
# especes <- suivi %>%
#   distinct(espece, g_latin, e_latin) %>%
#   arrange(espece)
#
#
# especes <- left_join(especes, statuts)
#
# table(especes$statut)
#
# # anti_join(especes, statuts)
# # anti_join(statuts, especes)
#

categories <- sort(unique(suivi$vernaculaire))

color_species <- colorRampPalette(c("red", "darkgreen", "blue"))(length(categories)) %>%
  setNames(categories)



# VISUALISATION TEMPORELLE ------------------------------------------------


# filtrer sur les espèces les plus courantes et/ou les espèces sélectionnées

ggplot(suivi) +
  aes(x = date, y = espece) +
  geom_violin(colour = "transparent", fill = "#333333") +
  geom_point()

ggplot(suivi) +
  aes(date) +
  geom_freqpoly(bins = 40)




suivi %>%
  filter(
    vernaculaire %in% "Fleur jaune"
  ) %>%
  ggplot() +
  aes(x = date, fill = vernaculaire) +
  geom_density(alpha = 0.8) +
  geom_rug(length = unit(0.1, "npc")) +
  labs(x = "", y = "") +
  scale_fill_manual(values = color_species) +
  scale_x_date(date_labels = "%m/%y") +
  scale_y_continuous(breaks = NULL, expand = expansion(mult = 0.15)) +
  facet_wrap(vars(vernaculaire), ncol = 1, scales = "free_y") +
  ggdark::dark_theme_light() +
  theme(legend.position = "none", strip.text = element_text(size = 14))






# VISUALISATION SPATIALE --------------------------------------------------



# set color scale for species
categories <- unique(suivi$espece)
RdYlBu <- colorFactor("RdYlBu", domain = categories)


suivi_sel <- suivi %>%
  filter(between(date, as.Date("2011-01-01"), as.Date("2019-08-01")))



# map data
leaflet(suivi_sel, options = leafletOptions(maxZoom = 15)) %>% # maxzoom anonymizes data
  addProviderTiles("Stamen.Terrain") %>%
  setView(55.5125, -21.1486, zoom = 10) %>% # make the output aera squared!
  addCircleMarkers(~longitude,
                   ~latitude,
                   color = ~RdYlBu(espece),
                   popup = ~paste(htmltools::htmlEscape(espece), htmltools::htmlEscape(date), sep = "<br/>"),
                   group = "ESP", # link to the legend
                   fill = FALSE,
                   opacity = 0.8,
                   radius = 8
                   ) %>%
  addLegend(pal = RdYlBu, values = ~espece, group = "ESP")
anna-doizy/butinagepei documentation built on Feb. 19, 2021, 4:59 p.m.