library(tools4DCE)
Le package tools4DCE a créé des objets S4 de classe seuils. Ces objets affectent à un ensemble paramètre, support, fraction, unités définis par leurs codes SANDRE, des classes de qualité ainsi que l’ordre et la couleur des classes de qualité.
Pour créer une liste de seuils prédéfinis à partir des fichiers de données il suffit de taper la commande makeSeuils(). A ce jour 5816 seuils différents sont ainsi définis. On peut se limiter à créer la liste pour un ensemble de codes paramètres en renseignant l’argument CdParametre. Idem pour les codes support, fraction, pour les types de seuils (DCE ou NON_DCE), pour les spécificités (ex. SALMONICOLE ou CYPRINICOLE).
<-makeSeuils()
tmp100] tmp[
## $MES
## An object of class "seuil"
## Slot "nom_parametre":
## [1] "MES"
##
## Slot "nom_seuil":
## [1] "Guide évaluation ME"
##
## Slot "type_seuil":
## [1] "NON_DCE"
##
## Slot "code_parametre":
## [1] "1305"
##
## Slot "synonymes_parametre":
## [1] "1305"
##
## Slot "support":
## [1] "3"
##
## Slot "fraction":
## [1] "23"
##
## Slot "code_unite":
## [1] "162"
##
## Slot "seuils":
## SEUILMIN SEUILMAX CLASSE NOM_COULEUR
## 1 -Inf 25 TRES BON cadetblue1
##
## Slot "bornesinfinclue":
## [1] FALSE
##
## Slot "specificites":
## [1] "CAS_GENERAL"
<-makeSeuils(CdParametre=c("1340", "1301"), specificites=c("CAS_GENERAL", "CYPRINICOLE"), type_seuil = "DCE")
testprint(test)
## $TEMPERATURE
## An object of class "seuil"
## Slot "nom_parametre":
## [1] "TEMPERATURE"
##
## Slot "nom_seuil":
## [1] "AM. 25/01/2010"
##
## Slot "type_seuil":
## [1] "DCE"
##
## Slot "code_parametre":
## [1] "1301"
##
## Slot "synonymes_parametre":
## [1] "1301"
##
## Slot "support":
## [1] "3"
##
## Slot "fraction":
## [1] NA
##
## Slot "code_unite":
## [1] "27"
##
## Slot "seuils":
## SEUILMIN SEUILMAX CLASSE NOM_COULEUR
## 1 -Inf 24.0 TRES BON dodgerblue
## 2 24.0 25.5 BON green1
## 3 25.5 27.0 MOYEN yellow
## 4 27.0 28.0 MEDIOCRE orange
## 5 28.0 Inf MAUVAIS red
##
## Slot "bornesinfinclue":
## [1] TRUE
##
## Slot "specificites":
## [1] "CYPRINICOLE"
##
##
## $NO3
## An object of class "seuil"
## Slot "nom_parametre":
## [1] "NO3"
##
## Slot "nom_seuil":
## [1] "AM. 25/01/2010"
##
## Slot "type_seuil":
## [1] "DCE"
##
## Slot "code_parametre":
## [1] "1340"
##
## Slot "synonymes_parametre":
## [1] "1340"
##
## Slot "support":
## [1] "3"
##
## Slot "fraction":
## [1] NA
##
## Slot "code_unite":
## [1] "162"
##
## Slot "seuils":
## SEUILMIN SEUILMAX CLASSE NOM_COULEUR
## 1 -Inf 10 TRES BON dodgerblue
## 2 10 50 BON green1
## 3 50 Inf MOYEN yellow
##
## Slot "bornesinfinclue":
## [1] TRUE
##
## Slot "specificites":
## [1] "CAS_GENERAL"
La liste de l’ensemble des seuils prédéfinis peut être obtenue de la façon suivante : La liste des paramètres concernés est la suivante :
<-lapply(makeSeuils(), function(x) `@`( x , nom_parametre)[[1]])%>%unlist%>%sort%>%unique liste_des_seuils
Le package tools4DCE aide à réaliser des graphiques spécialement conçus pour des données de qualité des eaux.
Le code suivant fourni un exemple de graphiques pour le paramètre codé 1340 (Nitrates). La zone grisée correspond à la limite de quantification.
<-data.frame(DatePrel=Sys.Date() + sort(sample(1:500, 30)), RsAna=c(round(runif(30,0,100), 0)), LqAna=c(3))
data0graphDCE_points(data0, seuils=makeSeuils(CdParametre = "1340", type_seuil="DCE", specificites="CAS_GENERAL"), affiche_LQ = T, ymini = 0, sous_titre="station inconnue")
Si on le souhaite, on peut zoomer sur le graphique et afficher les valeurs hors gamme sous forme de cases colorées à l’aid ede l’option ymaxi.
graphDCE_points(data0, seuils=makeSeuils(CdParametre = "1340", type_seuil="DCE", specificites="CAS_GENERAL"), affiche_LQ = T, ymini = 0, ymaxi=90)
Si le jeu de données comporte une donnée très largement supérieures aux autres, alors la fonction définira l’échelle visible sans prendre en compte cette valeur (qui apparaitra sous forme d’un rectangle coloré).
10,"RsAna"]<-800
data0[graphDCE_points(data0, seuils=makeSeuils(CdParametre = "1340", type_seuil="DCE", specificites="CAS_GENERAL"), affiche_LQ = T, ymini = 0, coef_axes_date=0.2)
On peut également réaliser des graphiques en barre, par exemple pour faire des bilans annuels
<- data.frame(annee = seq(2010, 2013),
data RsAna = c(12, 15.5, 67, 18.3))
graphDCE_bar(
data,seuils = makeSeuils(
CdParametre = "1340",
type_seuil = "DCE",
specificites = "CAS_GENERAL"
),ymaxi = 60
)
<-data.frame(DatePrel=Sys.Date() + sort(sample(1:2000, 100)), RsAna=c(round(runif(100,0,100), 0)), LqAna=c(3))
data1$mois<-format(data1$DatePrel, "%m")%>%factor(levels=c("07", "08", "09", "10", "11", "12", "01", "02", "03", "04", "05", "06"))
data1<-seuils<-makeSeuils(CdParametre = "1340", type_seuil="DCE", specificites="CAS_GENERAL")
seuil1graphDCE_boxplot(data1, seuils = seuil1)
Les fonctions suivantes permettent de faire le bilan, par exemple, sur les pesticides quantifiés sous forme de tableau.
<-data.frame(parametres=rep(c("1506", "1907", "1221", "6854"), 100), RsAna=sample(0.001:3, 400, replace=TRUE), LqAna=c(rep(0.01,200),rep(0.2,100),rep(c(0.1,0.05,0.01,1),25)))
donnees<-donnees%>%mutate(RsAna=ifelse(RsAna<LqAna, LqAna, RsAna))
donnees<-donnees%>%mutate(CdRqAna=ifelse(RsAna>LqAna, "1", ifelse(sample(1:100,5)>10,"10","1")))
donnees<-makeSeuils(CdParametre=donnees$parametres%>%unique, specificites=c("OEB"), type_seuil = "AEP")
seuils<-groupe_tableau_distribution(donnees, col_CdParametre="parametres", col_CdSupport=NULL, col_CdFraction=NULL, col_CdUnite=NULL, seuils = seuils)
tableauprint(tableau)
## # A tibble: 16 x 11
## # Groups: CLASSE [3]
## CLASSE CdRqAna nb CATEGORIE NOM_COULEUR ALPHA parametre code_parametre
## <fct> <chr> <int> <fct> <chr> <dbl> <chr> <chr>
## 1 [0;seuil ~ 10 12 <LQ et L~ darkturquo~ 0.2 Metolach~ 6854
## 2 ]seuil di~ 1 41 ]seuil d~ darkorange 1 Metolach~ 6854
## 3 ]seuil di~ 10 16 <LQ et L~ darkorange 0.2 Metolach~ 6854
## 4 >seuil po~ 1 31 >seuil p~ darkmagenta 1 Metolach~ 6854
## 5 [0;seuil ~ 10 22 <LQ et L~ darkturquo~ 0.2 AMPA 1907
## 6 ]seuil di~ 1 37 ]seuil d~ darkorange 1 AMPA 1907
## 7 ]seuil di~ 10 10 <LQ et L~ darkorange 0.2 AMPA 1907
## 8 >seuil po~ 1 31 >seuil p~ darkmagenta 1 AMPA 1907
## 9 [0;seuil ~ 10 28 <LQ et L~ darkturquo~ 0.2 Glyphosa~ 1506
## 10 ]seuil di~ 1 31 ]seuil d~ darkorange 1 Glyphosa~ 1506
## 11 ]seuil di~ 10 5 <LQ et L~ darkorange 0.2 Glyphosa~ 1506
## 12 >seuil po~ 1 36 >seuil p~ darkmagenta 1 Glyphosa~ 1506
## 13 [0;seuil ~ 10 24 <LQ et L~ darkturquo~ 0.2 Métolach~ 1221
## 14 ]seuil di~ 1 31 ]seuil d~ darkorange 1 Métolach~ 1221
## 15 ]seuil di~ 10 13 <LQ et L~ darkorange 0.2 Métolach~ 1221
## 16 >seuil po~ 1 32 >seuil p~ darkmagenta 1 Métolach~ 1221
## # ... with 3 more variables: code_support <chr>, code_fraction <chr>,
## # code_unite <chr>
Il est possible de trier les molécules de la plus préoccupante à la moins préoccupante
tri_molecules(tableau, tri_croissant = T)
## [1] "Glyphosate" "Métolachlore total" "Metolachlor ESA"
## [4] "AMPA"
Ces tableaux peuvent être mis sous forme graphique
graphDCE_distribution(tableau, titre="Répartition des pesticides par rapport aux normes AEP")
On peut se limiter aux molécules les plus préoccupantes
graphDCE_distribution(tableau, titre="Répartition des pesticides par rapport aux normes AEP", nb_top=3)
Ou aux moins préoccupantes
graphDCE_distribution(tableau, titre="Répartition des pesticides par rapport aux normes AEP", nb_top=3, tri_croissant = F)