knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  warning = FALSE,
  message = FALSE
)
library(didor)
library(tidyverse)

utilisation de ce package

Les commandes les plus importantes de ce package sont datasets(), datafiles(), dido_search() et get_data(). dido_search() permet de chercher dans les données qui lui sont passées get_data() permet de télécharcher les données des datafiles passés en arguments.

La méthode :

  1. regarder les datasets : datasets()
  2. sélectionner les datasets : dido_search() et dplyr::filter()
  3. récupérer les informations des datafiles associés à ces datasets: `datafiles()
  4. sélectionner les datafiles intéressants: dido_search() et dplyr::filter()
  5. verifier que les datafiles sont compatibles: columns()
  6. télécharger les données: get_data()
  7. les convertir: convert()

récupérer les données de consommation de gaz à la maille EPCI

regarder les datasets

result <- datasets()
knitr::kable(head(result, n = 2))

Utilisez view() pour regarder un peu les colonnes.

sélectionner les datasets

Pour sélectionner les datasets, vous pouvez utiliser les commandes dplyr comme dplyr::select() ou la commande dido_search() qui cherche le motif dans tous les champs chr du dataframe.

result <- datasets() %>% 
  dido_search('gaz') %>% 
  select(title)
knitr::kable(head(result))

5 datasets correspondents à la recherche. Cherchons les datasets contenant 'epci' :

result <- datasets() %>% 
  dido_search('gaz') %>% 
  dido_search('epci') %>%
  select(title)
knitr::kable(result)

Nous n'avons plus qu'un seul datasets.

étudier les datafiles :

result <- datasets() %>% 
  dido_search('gaz') %>% 
  dido_search('epci') %>%
  datafiles() %>% 
  select(title)
knitr::kable(result)

Nous avons 6 datafiles dont 3 sur le gaz.

result <- datasets() %>% 
  dido_search('gaz') %>% 
  dido_search('epci') %>%
  datafiles() %>% 
  dido_search('gaz') %>%
  select(title)
knitr::kable(result)

Nous avons réussi à filter 3 datafiles avec des données gaz à la maille EPCI, chacun traite d'une année de 2018 à 2020.

vérifier que les données de ces 3 datafiles sont homogènes.

result <- datasets() %>%
  dido_search('gaz') %>% 
  dido_search('epci') %>%
  datafiles() %>% 
  dido_search('gaz') %>%
  columns()
knitr::kable(result)

columns() nous indique que nous avons bien 3 datafiles et que les colonnes sont toutes communes au 3 datafiles sauf 1. Sans doute un ajout de colonne.

Vous pouvez regarder les fichiers annexes :

attachments <- datasets() %>%
  dido_search('gaz') %>% 
  dido_search('epci') %>%
  datafiles() %>% 
  dido_search('gaz') %>%
  attachments()
knitr::kable(head(attachments, n=2))

Et les télécharger :

datasets() %>%
  dido_search('gaz') %>% 
  dido_search('epci') %>%
  datafiles() %>% 
  dido_search('gaz') %>%
  attachments() %>%
  get_attachments(dest = tempdir())

télécharger les données

La commande get_data() s'occupe de télécharger les différents datafiles et les concatène.

data <- datasets() %>%
  dido_search('gaz') %>% 
  dido_search('epci') %>%
  datafiles() %>% 
  dido_search('gaz') %>%
  get_data()
knitr::kable(head(data, n = 2))

data contient maintenant les données des 3 datafiles sur le gaz à la maille EPCI

convertir les données numériques

Les données peuvent contenir des valeurs secrétisées se présentant sous la forme de la chaine secret, R ne peut donc pas deviner correctement le type des colonnes.

La commande convert() utilise les métadonnées de l'API pour réaliser la conversion, les données secrétisées sont retournées en NA

Testons cette conversion sur les ventes mensuelles de produits pétroliers depuis 2017 :

(data <- datasets() %>%
   dido_search("Données mensuelles.*pétroliers") %>%
   filter(temporal_coverage_start >= "2017-01-01") %>%
   datafiles() %>%
   dido_search("gazole routier") %>%
   get_data())

Les variables sont toutes de type chr. Pour convertir ces données :

convert(data)

Attention, la conversion s'appuie sur l'usage des attributs qui sont perdues à la première manipulation des tibbles/dataframes. convert() doit être fait immédiatement après get_data()



MTES-MCT/didor documentation built on April 7, 2023, 7:42 a.m.