R/int_vulnerability_matrix.R

Defines functions vulnerability_matrix

Documented in vulnerability_matrix

#' Vulnérabilité des composantes valorisées aux stresseurs environnementaux
#'
#' Création de la matrice de vulnérabilité pour l'ensemble des composantes valorisées et stresseurs considérés pour l'évaluation des effets cumulatifs
#'
#' @keywords vulnérabilité
#' @keywords stresseurs environnementaux
#' @keywords composante valorisée
#'
#' @export
#'
#' @details Cette fonction génère la matrice de vulnérabilité pour les habitats
#'

vulnerability_matrix <- function() {
  # =~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~= #
  # Data import
  # ------------------------------------
  #
  # =~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~= #
  # Berges
  berge <- read.csv("./data/data-vulnerability/vulnerability_berge.csv",
                      row.names = 1)

  # Habitats
  habitat <- read.csv("./data/data-vulnerability/vulnerability_habitat.csv",
                      row.names = 1)

  # Mammifères marins
  mammiferes_marins <- read.csv("./data/data-vulnerability/vulnerability_mammiferes_marins.csv",
                       row.names = 1)

  # Sites faune et flore
  faune_flore <- read.csv("./data/data-vulnerability/vulnerability_faune_flore.csv",
                 row.names = 1)

  # Sites d'intérêt
  site <- read.csv("./data/data-vulnerability/vulnerability_site.csv",
                      row.names = 1)

  # Add CV category to name
  colnames(berge) <- glue("berge_{colnames(berge)}")
  colnames(habitat) <- glue("habitat_{colnames(habitat)}")
  colnames(mammiferes_marins) <- glue("mammiferes_marins_{colnames(mammiferes_marins)}")
  colnames(faune_flore) <- glue("habitat_{colnames(faune_flore)}")
  colnames(site) <- glue("site_{colnames(site)}")
  # ------------------------------------------------------------------------- #

  # =~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~= #
  # Normalize
  # ------------------------------------
  #
  # =~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~= #
  # WARNING: Already normalized in individual scripts. But check to make sure if you modify code
  # norm <- function(x, dat) round(x / max(dat, na.rm = TRUE), 4)
  # berge <- apply(berge, 2, norm, berge)
  # habitat <- apply(habitat, 2, norm, habitat)
  # mammiferes_marins <- apply(mammiferes_marins, 2, norm, mammiferes_marins)
  # faune_flore <- apply(faune_flore, 2, norm, faune_flore)
  # site <- apply(site, 2, norm, site)
  # ------------------------------------------------------------------------- #


  # =~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~= #
  # Integrate
  # ------------------------------------
  #
  # =~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~= #
  berge <- data.frame(berge) %>% mutate(human_activity = rownames(.))
  habitat <- data.frame(habitat) %>% mutate(human_activity = rownames(.))
  mammiferes_marins <- data.frame(mammiferes_marins) %>% mutate(human_activity = rownames(.))
  faune_flore <- data.frame(faune_flore) %>% mutate(human_activity = rownames(.))
  site <- data.frame(site) %>% mutate(human_activity = rownames(.))

  # -----
  vulnerability <- berge %>%
                   left_join(., habitat, by = "human_activity") %>%
                   left_join(., mammiferes_marins, by = "human_activity") %>%
                   left_join(., faune_flore, by = "human_activity") %>%
                   left_join(., site, by = "human_activity")

  # -----
  st <- read.csv("data/data-metadata/metadata_stresseurs.csv")
  vulnerability <- left_join(vulnerability,
                             st[, c('stresseur','accronyme')],
                             by = c("human_activity" = "accronyme"))
  vulnerability$human_activity <- glue("{vulnerability$stresseur}_{vulnerability$human_activity}")

  # -----
  st <- vulnerability$human_activity
  cv <- colnames(vulnerability)
  vulnerability <- vulnerability %>%
                   select(-human_activity, -stresseur) %>%
                   t()
  colnames(vulnerability) <- st
  # ------------------------------------------------------------------------- #

  # =~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~= #
  # Export data
  # ------------------------------------
  #
  # =~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~= #
  # -----
  write.csv(vulnerability,
            "./data/data-integrated/vulnerability.csv",
            row.names = TRUE)
  # ------------------------------------------------------------------------- #}

  # =~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~= #
  # Clean global environment
  #
  # =~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~=~-~= #
  clean()
  # ------------------------------------------------------------------------- #}
}
EffetsCumulatifsNavigation/ceanav documentation built on April 17, 2023, 1:02 p.m.