Mercurial > repos > ecology > cb_ivr
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) + |