knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
La laboratoire d'Ecologie Numérique des Milieux Aquatiques de l'Université de Mons utilise un autoanalyseur seal AA3 dans ces recherces. Cet instrument permet de quantifier avec une grande précision :
| Molécules | Abbréviation | |:---------------:|:----------------:| | Phosphore total | $$Ptot$$ | | Azote total | $$Ntot$$ | | Nitrate | $$NO_3$$ | | Nitrite | $$NO_2$$ | | Ammonium | $$NH_4$$ | | Phosphate | $$PO_4$$ |
L'instrument utilise deux méthodes pour analyser les différents composés ci-dessus. Par simplicité, les termes méthode organique et méthode inorganique sont employés.
| Méthode organique | Methode inorganique | |:-----------------------------:|:-----------------------:| | $$PO_4$$ | $$Ptot$$ | | $$NO_x = NO_3 + NO_2$$ | $$Ntot$$ | | $$NH_4$$ | $$NO_2$$ |
Le seal AA3 renvoit des fichiers au format texte comme le montre le tableau ci-dessous. Le nom des fichier est toujours la date inversée suivi d'une lettre (ex : 181009A, concernne une analyse fait le 9 octobre 2018).
#load several packages #SciViews::R aa3_txt <- "../inst/extra_data/181009A.TXT" aa3 <- readr::read_delim(file = aa3_txt, delim = ";", col_names = FALSE, col_types = readr::cols( .default = "c"), locale = readr::locale(encoding = "LATIN1")) # particularly #rmarkdown::paged_table(aa3) aa3
Ce fichier peut être divisé en deux parties distinctes. La première a pour but de fournir un ensemble de métadonnées sur l'anlyse et la seconde partie renvoit un tableau de données sur les échantillons analysés (courbe de calibration et échantillons liés à une expérience).
Le préambule de ce document contient des informations importantes que l’on ne peut dissocier du tableau de données afin de comprendre les résultats.
#rmarkdown::paged_table(aa3[0:13, ]) aa3[0:13, ]
La seconde partie du document comprend les échantillons analysés aussi bien de calibrations que les échantillons liés à l'expérience.
#rmarkdown::paged_table(aa3[14:25, ]) aa3[14:25, ]
Malgré le préambule et le tableau de données des informations essentielles sont manquantes. Pour annoter l’échantillon qui est dosé par l’instrument, on peut encoder uniquement ces références dans la colonnes Sample ID. Le nombre de caractères encodables est limité.
Les informations manquantes sont :
Il est dès lors indispensable de proposer des outils permettant de combiner ces manquements.
Tout d’abord, il est intéressant d’encoder proprement les données. Il faut de plus pallier aux manquements cités ci-dessus, la solutions la plus simple est de rédiger un second fichier sous la forme d’un template conçu à cet effet afin de venir ajouter l’ensemble des informations manquantes. Ce second document est d’une importance capitale afin de connaitre la provenance d’un échantillon. Pour ce faire, la colonne sample.id va servir de lien entre les deux tableaux. Le nom donné au second fichier est le même que celui du premier avec une extension différente.
#SciViews::R library(seal.econum) # importation de données exemples aa3_txt <- "../inst/extra_data/181009A.TXT" aa3_xlsx <- "../inst/extra_data/181009A.xlsx" # utilisation de la fonction d'importation et de conversion des données aa3_combine <- convert_aa3(file_aa3_txt = aa3_txt, file_aa3_xlsx = aa3_xlsx, project = "project_test") #rmarkdown::paged_table(aa3_combine) aa3_combine
Ce tableau de données comprend un ensemble d'attribus lié aux métadonnées du fichier au format txt.
attributes(aa3_combine)
Une fois les données encodées, une phase de validation de ces dernières est indispensbale.
La première phase de validation débute par la visualisation des données et des droites de calibration associés.
plot(aa3_combine)
Les données de calibration peuvent être eronée. Pour ce faire, la fonction calb_correction_aa3() a été mise au point. L'objet obtenu ressemble fortement à celui proposé par la fonction calb_aa3. Cette fonction requiert un objet de type calb_aa3. L'argument permettant de corriger plusieurs courbe de calibration en une seule fonction est filter_list
calb_aa3 <- calb.aa3(aa3_combine, filter_list = list(PO4 = 10, NH4 = c(0.1, 0.5)))
attributes(calb_aa3)
#econum::new_econum_data(x = calb_aa3, metadata = attr(calb_aa3, "metadata"), class = "aa3") #repos function
#valid <- build_db_aa3(aa3_combine = calb_aa3)
#class(valid$samp_db)
#merge file TODO
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.