Chapter 4 Preparation des donnees H3

# Créer la BD finale pour les analyses #

### Charger les bibliothèques ###
library(ade4)
library(ape)
library(car)
library(data.table)
library(dplyr)
library(factoextra)
library(FactoMineR)
library(gclus)
library(ggplot2)
library(ggpmisc)
library(ggpubr)
library(gridExtra)
library(janitor)
library(lubridate)
library(naniar)
library(pals)
library(performance)
library(readxl)
library(SciViews)
library(splines)
library(tidyverse)
library(vegan)
library(visreg)
options(ggrepel.max.overlaps = Inf)

setwd("C:/Users/Sarah/Desktop/Maitrise/Données/")

# Charger les données de H2
data_fem <- readRDS(file = "C:/Users/Sarah/Desktop/Maitrise/Données/Data/data_hyp2_final.rds")

4.1 Utilisation de l’habitat

Je commence par charger les données de l’utilisation de l’habitat (% des pts dans un habitat pour chacune des 3 périodes).

######## 1. Utilisation de l'habitat ########


# Renommer les colonnes
data_fem = data_fem %>%
  rename(Site = Secteur) %>% # Unifier le nom
  mutate(Year_Summer = (as.numeric(as.character(Year_Winter)))-1) # Année de l'été précédent


## Utilisation ##

util_hab <- readRDS("C:/Users/Sarah/Desktop/Maitrise/Données/Data/utilisation_hab.rds") %>%
  rename(Year_Summer = Annee) %>% # Unifier le nom
  filter(Periode != "Transitoire") # Enlever période transitoire

# Créer une colonne par période d'utilisation

util_hab2 = util_hab %>%
  select(-c(Nb_Pts_Total, Nb_Pts_Agri)) %>%
  pivot_wider(names_from = Periode, 
              values_from = Utilisation,
              names_prefix = "Util_") 

# verif
head(util_hab2)
## # A tibble: 6 × 7
##   ID_Animal Year_Summer Habitat Site     Util_Fruits Util_Noix Util_Graminees
##   <fct>     <fct>       <fct>   <fct>          <dbl>     <dbl>          <dbl>
## 1 G201901   2019        C_6-10  Gaspesie       0.557     5.21              NA
## 2 G201901   2019        BR_0-20 Gaspesie       0.557     2.84              NA
## 3 G201901   2019        C_11-20 Gaspesie      34.0       9.48              NA
## 4 G201901   2019        M_50    Gaspesie       9.19     12.2               NA
## 5 G201901   2019        M_30    Gaspesie       6.41      6.32              NA
## 6 G201901   2019        F_30    Gaspesie       0.279     0.316             NA
util_hab2 %>% 
  filter(ID_Animal == "M201526" & Year_Summer == "2018") %>%
  select(ID_Animal, Habitat, Util_Graminees, Util_Fruits, Util_Noix) %>%
  adorn_totals("row") # ok
##  ID_Animal  Habitat Util_Graminees Util_Fruits   Util_Noix
##    M201526   C_6-10      13.195548  16.0000000   3.0581040
##    M201526  BR_0-20       0.000000   0.0000000   0.0000000
##    M201526  C_11-20      45.627981  29.6363636  17.7370031
##    M201526     M_50      10.492846   6.5454545   2.1406728
##    M201526     M_30       0.000000   0.0000000   0.0000000
##    M201526     F_30       0.000000   0.0000000   0.0000000
##    M201526     F_50       6.677266   1.2727273   3.9755352
##    M201526   PES_30       0.000000   0.0000000   0.0000000
##    M201526    DS-DH       0.000000   0.9090909   0.3058104
##    M201526   PES_50       9.220986  11.0909091   6.7278287
##    M201526   SAP_30       0.000000   0.0000000   0.0000000
##    M201526   SAP_50       0.000000   0.0000000   0.0000000
##    M201526   Anthro       0.000000   0.0000000   0.0000000
##    M201526    C_0-5       7.790143  25.2727273  23.8532110
##    M201526 Aulnaies       6.995231   8.3636364  19.2660550
##    M201526      Eau       0.000000   0.9090909  22.9357798
##      Total        -     100.000000 100.0000000 100.0000000
## Créer Pres_Agri (est-ce que l'animal est allé dans un champ oui/non n'importe quand pendant l'année) ##

pres_agri <- util_hab %>%
  group_by(ID_Animal, Site, Year_Summer) %>%
  summarise(pts_agri = sum(Nb_Pts_Agri)) %>%
  mutate(Pres_Agri = as.factor(
    ifelse(pts_agri >= 1, "Oui", "Non"))) 
## `summarise()` has grouped output by 'ID_Animal',
## 'Site'. You can override using the `.groups` argument.
# verif
pres_agri %>%
  group_by(Pres_Agri) %>%
  do(sample_n(., size = 3)) # ok
## # A tibble: 6 × 5
## # Groups:   Pres_Agri [2]
##   ID_Animal Site      Year_Summer pts_agri Pres_Agri
##   <fct>     <fct>     <fct>          <dbl> <fct>    
## 1 S201869   SLSJ      2018               0 Non      
## 2 S201622   SLSJ      2016               0 Non      
## 3 G201903   Gaspesie  2019               0 Non      
## 4 O201705   Outaouais 2018            2192 Oui      
## 5 O201823   Outaouais 2018            3440 Oui      
## 6 O201704   Outaouais 2022              32 Oui
pres_agri2 = pres_agri %>%
  select(-pts_agri)

4.2 Scores d’habitat

Ensuite, je charge les scores des habitats pour les lier avec la BD.

######## 2. Scores d'habitat ########


# Charger les scores d'habitat
scores_hab <- readRDS("C:/Users/Sarah/Desktop/Maitrise/Données/Data/scores_nourriture_final.rds") %>%
  rename(Year_Summer = Annee)

# Merger avec l'utilisation

util_score = merge(x = util_hab2, y = scores_hab, by = c("Site", "Habitat", "Year_Summer"), all.x = TRUE)

# Il reste à créer les colonnes utilisation * score

util_score$US_Graminees = util_score$Score_Graminees * util_score$Util_Graminees
util_score$US_Fruits = util_score$Score_Fruits * util_score$Util_Fruits
util_score$US_Noix = util_score$Score_Noix * util_score$Util_Noix
#saveRDS(data_fem4, file = "Data/data_hyp3_final.rds")

# Faire la somme des habitats
util_score2 = util_score %>%
  group_by(Site, ID_Animal, Year_Summer) %>%
  summarise(US_Graminees_Tot = sum(US_Graminees),
            US_Fruits_Tot = sum(US_Fruits),
            US_Noix_Tot = sum(US_Noix))
## `summarise()` has grouped output by 'Site',
## 'ID_Animal'. You can override using the `.groups`
## argument.
# Merger avec les données des femelles
data_fem2 = merge(x = data_fem, y = util_score2, by = c("Site", "ID_Animal", "Year_Summer"), all.x = TRUE)



# Rajouter presence agricole
data_fem3 = merge(x = data_fem2, y = pres_agri2, by = c("Site", "ID_Animal", "Year_Summer"), all.x = TRUE)

# Rajouter ID Animal Annee

data_fem4 <- data_fem3 %>%
  mutate(ID_Animal_YW = as.factor(paste0(ID_Animal, "_", Year_Winter)))

# Enregistrer
#saveRDS(data_fem4, "Data/data_hyp3_final.rds")

# Vérifications
head(data_fem4)
##       Site ID_Animal Year_Summer Year_Winter Age Body_Condition_Winter
## 1 Gaspesie   G201901        2019        2020   6                 BONNE
## 2 Gaspesie   G201902        2019        2020   7                 BONNE
## 3 Gaspesie   G201903        2019        2020   5               MOYENNE
## 4 Gaspesie   G201905        2019        2020   8                 BONNE
## 5 Gaspesie   G201915        2019        2020  15              MAUVAISE
## 6 Gaspesie   G201916        2019        2020   5               MOYENNE
##   Presence_of_Youngs Age_of_Youngs Number_of_Youngs                  Id_Young
## 1                OUI      YEARLING                2          G202041; G202042
## 2                OUI           CUB                2                    NA; NA
## 3                OUI           CUB                3                NA; NA; NA
## 4                OUI      YEARLING                2          G202043; G202044
## 5                OUI      YEARLING                3 G202045; G202046; G202047
## 6                OUI           CUB                2                    NA; NA
##   Day_Cumul Pres_Cubs Reprod Weightx_Young_Corr_KG PCA1_Score
## 1        84      SANS   <NA>                    NA  0.8165723
## 2        92      AVEC      1              2.093150  0.1432408
## 3        86      AVEC      1              1.546632 -0.8984667
## 4        88      SANS   <NA>                    NA  0.1760509
## 5        92      SANS   <NA>                    NA -2.1948847
## 6        82      AVEC      1              2.129801 -0.6638373
##   Weight_Winter_Corr_KG_IMP Nb_Youngs SurvieCubs_INDETERMINE SurvieCubs_OUI
## 1                  69.97867        NA                     NA             NA
## 2                  68.55168         2                      2              0
## 3                  53.95659         3                      3              0
## 4                  60.55746        NA                     NA             NA
## 5                  47.05387        NA                     NA             NA
## 6                  61.82609         2                      2              0
##   SurvieCubs_NON Ratio_Survie Den_Weight_an_1_KG_Corr_Cub1
## 1             NA           NA                           NA
## 2              0           NA                     2.138510
## 3              0           NA                     1.607112
## 4             NA           NA                           NA
## 5             NA           NA                           NA
## 6              0           NA                     2.039082
##   Den_Weight_an_1_KG_Corr_Cub2 Den_Weight_an_1_KG_Corr_Cub3
## 1                           NA                           NA
## 2                     2.047791                           NA
## 3                     1.425673                     1.607112
## 4                           NA                           NA
## 5                           NA                           NA
## 6                     2.220521                           NA
##   Den_Weight_an_1_KG_Corr_Cub4 Nb_Cubs_Survivants Nb_Cubs_Morts
## 1                           NA                 NA            NA
## 2                           NA                 NA            NA
## 3                           NA                 NA            NA
## 4                           NA                 NA            NA
## 5                           NA                 NA            NA
## 6                           NA                 NA            NA
##   Score_Graminees_Pond_Tot Score_Fruits_Pond_Tot Score_Fourmis_Pond_Tot
## 1                 149.7253             -93.85271               28.95887
## 2                 149.7253             -93.85271               28.95887
## 3                 149.7253             -93.85271               28.95887
## 4                 149.7253             -93.85271               28.95887
## 5                 149.7253             -93.85271               28.95887
## 6                 149.7253             -93.85271               28.95887
##   Score_Noix_Pond_Tot US_Graminees_Tot US_Fruits_Tot US_Noix_Tot Pres_Agri
## 1            26.72085               NA     -14.46254    26.85624       Non
## 2            26.72085               NA     -57.54277    46.88716       Non
## 3            26.72085               NA     -61.16981    27.85088       Non
## 4            26.72085               NA     -45.79878    24.92163       Non
## 5            26.72085               NA     -81.34152    21.46597       Non
## 6            26.72085               NA     -59.69904    28.46154       Non
##   ID_Animal_YW
## 1 G201901_2020
## 2 G201902_2020
## 3 G201903_2020
## 4 G201905_2020
## 5 G201915_2020
## 6 G201916_2020
# Cobaye:  O201705 Year_Summer = 2019

data_fem4 %>% filter(ID_Animal == "O201705" & Year_Summer == "2019") %>% select(32:35)
##   US_Graminees_Tot US_Fruits_Tot US_Noix_Tot Pres_Agri
## 1         279.4653     -154.7696     188.162       Non
# US_Graminees_Tot US_Fruits_Tot US_Noix_Tot Pres_Agri
#  279.4653     -154.7696     188.162       Non

# Dans util_hab:
cobaye_util = util_hab %>% filter(ID_Animal == "O201705" & Year_Summer == "2019" & Periode == "Fruits")
sum(cobaye_util$Utilisation) # 100, ok
## [1] 100
cobaye_score = scores_hab %>% filter(Site == "Outaouais" & Year_Summer == "2019")
cobaye1 = merge(x = cobaye_score, y = cobaye_util, by = c("Site", "Habitat", "Year_Summer"))
cobaye1$US_Fruits = cobaye1$Utilisation * cobaye1$Score_Fruits
sum(cobaye1$US_Fruits) # -154.7696: ok
## [1] -154.7696