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.
## # 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
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