R/import_subst.R

Defines functions import_subst

Documented in import_subst

#' Identify which parameters correspond to pesticides (Parameter group 95
#' according to Sandre classification)
#'
#' @import dplyr
#' 
import_subst <- function(fileSandre, fileCAS) {

    codes_sandre <- readr::read_csv2(file = fileSandre) %>%
        filter(GroupeParametresPere_CdGroupeParametres == 95)                   %>%
        select(CdGroupeParametres,
               NomGroupeParametres, matches("CdParametre\\d*$"))                %>%
        tidyr::gather(key = "parametre", value = "code_parametre",
               -CdGroupeParametres, -NomGroupeParametres)                       %>%
        select(-parametre)                                                      %>%
        filter(! is.na(code_parametre))                                         %>%
        arrange(as.numeric(CdGroupeParametres))

    cas_sandre <- readr::read_csv2(fileCAS,
                            col_types = list(amm         = readr::col_character(),
                                             substance   = readr::col_character(),
                                             cas         = readr::col_character(),
                                             code_sandre = readr::col_character()))

    cas_sandre <-
        bind_rows(cas_sandre,
                  c(amm = NULL, substance = "flupyrsulfuron-methyle",
                    cas = "144740-54-5", code_sandre = "2565"),
                  c(amm = NULL, substance = "huile blanche parafinique",
                    cas = "8042-47-5", code_sandre = NA_character_),
                  c(amm = NULL, substance = "valiphenal",
                    cas = "283159-90-0", code_sandre = "8045"))

    full_join(x  = codes_sandre,
              y  = select(cas_sandre, -amm) %>%
                  distinct(),
              by = c("code_parametre" = "code_sandre")) %>%
        mutate(a_conserver = ! is.na(CdGroupeParametres),
               NomGroupeParametres = iconv(x    = NomGroupeParametres,
                                           from = "UTF-8",
                                           to   = "ASCII//TRANSLIT"))  %>%
        arrange(desc(a_conserver), as.numeric(CdGroupeParametres), substance) %>%
        filter(a_conserver, !is.na(substance)) %>%
        pull(substance)
}
CedricMondy/afbBNVD documentation built on May 8, 2019, 9:53 p.m.