comparison cb_ivr_site_report_col_scale_loop.Rmd @ 2:bcbad4f83dec draft default tip

planemo upload for repository https://github.com/Marie59/champ_blocs commit 075fd90d1a39ae7912b48549e5537971635b9620
author ecology
date Sat, 18 Mar 2023 16:49:19 +0000
parents 8c6142630659
children
comparison
equal deleted inserted replaced
1:b67730406f1b 2:bcbad4f83dec
1
1 --- 2 ---
2 params: 3 params:
3 Site: v 4 Site: v
4 title: "Indice Visuel de Retournement des blocs (IVR) - suivi 2014-2022" 5 title: "Indice Visuel de Retournement des blocs (IVR) - suivi 2014-2022"
5 #author: "Jonathan Richir, Christian Kerbiriou, Pauline Poisson, Maud Bernard, Juliette Delavenne, Isabelle Le Viol" 6 #author: "Jonathan Richir, Christian Kerbiriou, Pauline Poisson, Maud Bernard, Juliette Delavenne, Isabelle Le Viol"
14 knitr::opts_chunk$set( 15 knitr::opts_chunk$set(
15 echo = FALSE 16 echo = FALSE
16 , message = FALSE 17 , message = FALSE
17 , warning = FALSE 18 , warning = FALSE
18 ) 19 )
19
20 df <- indic 20 df <- indic
21 df_full <- indic_full 21 df_full <- indic_full
22
23 df1 <- df %>% dplyr::filter(df$Site == v) 22 df1 <- df %>% dplyr::filter(df$Site == v)
24 df1 <- droplevels(df1) 23 df1 <- droplevels(df1)
25 ``` 24 ```
26 25
27 # Contexte 26 # Contexte
59 Légende de la figure. Photos de champs de blocs caractéristiques aux valeurs d'IVR allant de 0 (en haut à gauche, champ de blocs non impacté) à 5 (en bas à droite, très forte pression de pêche à pied) (© Maud Bernard). 58 Légende de la figure. Photos de champs de blocs caractéristiques aux valeurs d'IVR allant de 0 (en haut à gauche, champ de blocs non impacté) à 5 (en bas à droite, très forte pression de pêche à pied) (© Maud Bernard).
60 59
61 Cependant, passer d'une variable continue allant de 0% à 100% à une variable discrète ne contenant qu'un nombre réduit de valeurs réelles (de 0 à 5) peut-être considéré comme une simplification, justifiable, des observations de terrain. Afin de conserver cette dimension de continuité de la fréquence d'occurrence des blocs « bruns/rouges » vs « blancs/verts », une alternative consiste à considérer ces valeurs calculées de pourcentages, et à les diviser par 20 pour ainsi en revenir à une échelle de valeurs continues cette fois, toujours comprises entre 0 et 5. A chacune des 6 classes de valeurs continues d'indice IVR ainsi obtenues peut lui être associé un code couleur, allant du bleu pour une occurrence inférieure à 5% des blocs « blancs/verts » à rouge pour une occurrence supérieure à 85% des blocs « blancs/verts ». 60 Cependant, passer d'une variable continue allant de 0% à 100% à une variable discrète ne contenant qu'un nombre réduit de valeurs réelles (de 0 à 5) peut-être considéré comme une simplification, justifiable, des observations de terrain. Afin de conserver cette dimension de continuité de la fréquence d'occurrence des blocs « bruns/rouges » vs « blancs/verts », une alternative consiste à considérer ces valeurs calculées de pourcentages, et à les diviser par 20 pour ainsi en revenir à une échelle de valeurs continues cette fois, toujours comprises entre 0 et 5. A chacune des 6 classes de valeurs continues d'indice IVR ainsi obtenues peut lui être associé un code couleur, allant du bleu pour une occurrence inférieure à 5% des blocs « blancs/verts » à rouge pour une occurrence supérieure à 85% des blocs « blancs/verts ».
62 61
63 ```{r} 62 ```{r}
64
65 ivr_scale <- data.frame(matrix(NA, nrow = 6, ncol = 3)) 63 ivr_scale <- data.frame(matrix(NA, nrow = 6, ncol = 3))
66 colnames(ivr_scale) <- c("Occurrence des blocs blancs/verts", "Valeur d'IVR", "Signification") 64 colnames(ivr_scale) <- c("Occurrence des blocs blancs/verts", "Valeur d'IVR", "Signification")
67
68 ivr_scale$`Occurrence des blocs blancs/verts` <- c( 65 ivr_scale$`Occurrence des blocs blancs/verts` <- c(
69 "entre 0% et <5%", 66 "entre 0% et <5%",
70 "entre 5% et <25%", 67 "entre 5% et <25%",
71 "entre 25% et <45%", 68 "entre 25% et <45%",
72 "entre 45% et <65%", 69 "entre 45% et <65%",
78 "1.25 = IVR < 2.25", 75 "1.25 = IVR < 2.25",
79 "2.25 = IVR < 3.25", 76 "2.25 = IVR < 3.25",
80 "3.25 = IVR < 4.25", 77 "3.25 = IVR < 4.25",
81 "4.25 = IVR = 5") 78 "4.25 = IVR = 5")
82 ivr_scale$Signification <- c("Pas de bloc ou de rares blocs retournés", "Faible représentation des blocs blancs/verts", "Bonne proportion de blocs blancs/verts", "Représentation équivalente de blocs bruns/rouges et blancs/verts", "Dominance des blocs blancs/verts", "Très forte dominance des blocs blancs/verts") 79 ivr_scale$Signification <- c("Pas de bloc ou de rares blocs retournés", "Faible représentation des blocs blancs/verts", "Bonne proportion de blocs blancs/verts", "Représentation équivalente de blocs bruns/rouges et blancs/verts", "Dominance des blocs blancs/verts", "Très forte dominance des blocs blancs/verts")
83
84 #ivr_scale 80 #ivr_scale
85
86 ``` 81 ```
87 82
88 ```{r} 83 ```{r}
89 library(magrittr) 84 library(magrittr)
90
91 qu_tbl <- flextable::flextable(ivr_scale) 85 qu_tbl <- flextable::flextable(ivr_scale)
92 qu_tbl <- flextable::bg(qu_tbl, i = 1, bg = "#1A1AE8") 86 qu_tbl <- flextable::bg(qu_tbl, i = 1, bg = "#1A1AE8")
93 qu_tbl <- flextable::bg(qu_tbl, i = 2, bg = "#04F5F5") 87 qu_tbl <- flextable::bg(qu_tbl, i = 2, bg = "#04F5F5")
94 qu_tbl <- flextable::bg(qu_tbl, i = 3, bg = "#18E125") 88 qu_tbl <- flextable::bg(qu_tbl, i = 3, bg = "#18E125")
95 qu_tbl <- flextable::bg(qu_tbl, i = 4, bg = "#FAFA15") 89 qu_tbl <- flextable::bg(qu_tbl, i = 4, bg = "#FAFA15")
96 qu_tbl <- flextable::bg(qu_tbl, i = 5, bg = "#F59404") 90 qu_tbl <- flextable::bg(qu_tbl, i = 5, bg = "#F59404")
97 qu_tbl <- flextable::bg(qu_tbl, i = 6, bg = "#FF0000") 91 qu_tbl <- flextable::bg(qu_tbl, i = 6, bg = "#FF0000")
98
99 qu_tbl %>% flextable::autofit() %>% flextable::fit_to_width(7) 92 qu_tbl %>% flextable::autofit() %>% flextable::fit_to_width(7)
100
101 ``` 93 ```
102 94
103 Légende de la table. Pourcentages de blocs « blancs/verts », exprimés en une échelle continue de valeurs équivalentes d'IVR allant de 0 à 5. 95 Légende de la table. Pourcentages de blocs « blancs/verts », exprimés en une échelle continue de valeurs équivalentes d'IVR allant de 0 à 5.
104 96
105 97
108 Les observations des taux de retournement/non retournement de blocs de vingt-quatre champs distribués le long de la façade Manche-Atlantique française sont stockées dans la base de données ESTAMP (http://www.pecheapied-loisir.fr/base-de-donnees-estamp/), hébergée par l'Office Français de la Biodiversité, créée dans le cadre du projet LIFE+ Pêche à Pied de Loisir, et que vous avez contribué à enrichir de vos observations. L'évolution des valeurs médianes de l'indice IVR: au site `r unique(df1$Site.bis)` et tous champs de blocs confondus, pour la période de suivi 2014-2017, est représentée graphiquement sur les deux figures ci-dessous. A des fins de comparaisons entre la précédente échelle discrète et la nouvelle échelle continue de valeurs d'IVR, et des distributions associées des valeurs d'indice en escalier ou continues, les deux représentations graphiques sont données. 100 Les observations des taux de retournement/non retournement de blocs de vingt-quatre champs distribués le long de la façade Manche-Atlantique française sont stockées dans la base de données ESTAMP (http://www.pecheapied-loisir.fr/base-de-donnees-estamp/), hébergée par l'Office Français de la Biodiversité, créée dans le cadre du projet LIFE+ Pêche à Pied de Loisir, et que vous avez contribué à enrichir de vos observations. L'évolution des valeurs médianes de l'indice IVR: au site `r unique(df1$Site.bis)` et tous champs de blocs confondus, pour la période de suivi 2014-2017, est représentée graphiquement sur les deux figures ci-dessous. A des fins de comparaisons entre la précédente échelle discrète et la nouvelle échelle continue de valeurs d'IVR, et des distributions associées des valeurs d'indice en escalier ou continues, les deux représentations graphiques sont données.
109 101
110 Selon l'échelle discrète de valeurs de l'IVR, les valeurs médianes au site `r unique(df1$Site.bis)` (points noirs) sont comprises entre un minimum égal à `r min(df1$ivr.med, na.rm = T)` et un maximum égal à `r max(df1$ivr.med, na.rm = T)`. Les valeurs individuelles, par quadrat (barres), sont quant à elles comprises entre un minimum égal à `r min(df1$ivr.min, na.rm = T)` et un maximum égal à `r max(df1$ivr.max, na.rm = T)`. Selon l'échelle continue de valeurs de l'IVR, les valeurs médianes sont comprises entre un minimum égal à `r round(min(df1$fr.r.med/20, na.rm = T), digits = 2)` et un maximum égal à `r round(max(df1$fr.r.med/20, na.rm = T), digits = 2)`. Les valeurs individuelles, par quadrat (barres), sont quant à elles comprises entre un minimum égal à `r round(min(df1$fr.r.min/20, na.rm = T), digits = 2)` et un maximum égal à `r round(max(df1$fr.r.max/20, na.rm = T), digits = 2)`. 102 Selon l'échelle discrète de valeurs de l'IVR, les valeurs médianes au site `r unique(df1$Site.bis)` (points noirs) sont comprises entre un minimum égal à `r min(df1$ivr.med, na.rm = T)` et un maximum égal à `r max(df1$ivr.med, na.rm = T)`. Les valeurs individuelles, par quadrat (barres), sont quant à elles comprises entre un minimum égal à `r min(df1$ivr.min, na.rm = T)` et un maximum égal à `r max(df1$ivr.max, na.rm = T)`. Selon l'échelle continue de valeurs de l'IVR, les valeurs médianes sont comprises entre un minimum égal à `r round(min(df1$fr.r.med/20, na.rm = T), digits = 2)` et un maximum égal à `r round(max(df1$fr.r.med/20, na.rm = T), digits = 2)`. Les valeurs individuelles, par quadrat (barres), sont quant à elles comprises entre un minimum égal à `r round(min(df1$fr.r.min/20, na.rm = T), digits = 2)` et un maximum égal à `r round(max(df1$fr.r.max/20, na.rm = T), digits = 2)`.
111 103
112 ```{r} 104 ```{r}
113
114 par(mar = c(5, 5, 4, 2) + 0.1) 105 par(mar = c(5, 5, 4, 2) + 0.1)
115
116 ggplot2::ggplot() + 106 ggplot2::ggplot() +
117 ggplot2::geom_pointrange(ggplot2::aes(x = df1$Date, y = df1$fr.r.moy / 20, ymin = df1$fr.r.moy / 20 - df1$fr.r.et / 20, ymax = df1$fr.r.moy / 20 + df1$fr.r.et / 20), col = "black") + 107 ggplot2::geom_pointrange(ggplot2::aes(x = df1$Date, y = df1$fr.r.moy / 20, ymin = df1$fr.r.moy / 20 - df1$fr.r.et / 20, ymax = df1$fr.r.moy / 20 + df1$fr.r.et / 20), col = "black") +
118 ggplot2::xlab("Date") + 108 ggplot2::xlab("Date") +
119 ggplot2::ylab("IVR") + 109 ggplot2::ylab("IVR") +
120 ggplot2::ggtitle(unique(df1$Site)) + 110 ggplot2::ggtitle(unique(df1$Site)) +
121 ggplot2::theme(axis.text.x = ggplot2::element_text(angle = 90, vjust = 0.5, hjust = 1), legend.position = "none") 111 ggplot2::theme(axis.text.x = ggplot2::element_text(angle = 90, vjust = 0.5, hjust = 1), legend.position = "none")
122 ``` 112 ```
123 113
124 ```{r} 114 ```{r}
125
126 par(mar = c(5, 5, 4, 2) + 0.1) 115 par(mar = c(5, 5, 4, 2) + 0.1)
127
128 ggplot2::ggplot() + 116 ggplot2::ggplot() +
129 ggplot2::geom_point(ggplot2::aes(x = df$Date, y = df$fr.r.moy / 20), col = "grey") + 117 ggplot2::geom_point(ggplot2::aes(x = df$Date, y = df$fr.r.moy / 20), col = "grey") +
130 ggplot2::geom_rect(ggplot2::aes(xmin = min(df$Date), xmax = max(df$Date), ymin = - 0.5, ymax = 5 / 20, fill = "#FF0000"), alpha = 0.3) + 118 ggplot2::geom_rect(ggplot2::aes(xmin = min(df$Date), xmax = max(df$Date), ymin = - 0.5, ymax = 5 / 20, fill = "#FF0000"), alpha = 0.3) +
131 ggplot2::geom_rect(ggplot2::aes(xmin = min(df$Date), xmax = max(df$Date), ymin = 5 / 20, ymax = 25 / 20, fill = "#F59404"), alpha = 0.3) + 119 ggplot2::geom_rect(ggplot2::aes(xmin = min(df$Date), xmax = max(df$Date), ymin = 5 / 20, ymax = 25 / 20, fill = "#F59404"), alpha = 0.3) +
132 ggplot2::geom_rect(ggplot2::aes(xmin = min(df$Date), xmax = max(df$Date), ymin = 25 / 20, ymax = 45 / 20, fill = "#FAFA15"), alpha = 0.3) + 120 ggplot2::geom_rect(ggplot2::aes(xmin = min(df$Date), xmax = max(df$Date), ymin = 25 / 20, ymax = 45 / 20, fill = "#FAFA15"), alpha = 0.3) +