Compléments sur les mises à jour
Source :vignettes/complements-sur-les-mises-a-jour.Rmd
complements-sur-les-mises-a-jour.Rmd
library(didoscalim)
#> ✖ Environnement DiDo actif : DEV
Comment fonctionne les fonctions add_or_update_*
Les fonctions add_or_update_*
recherche l’objet en
comparant le paramètre title
que vous passez avec les
titres des objets.
Avant comparaison, le paramètre title
et les titres sont
passés en minuscule en conservant uniquement les caractères
alphanumériques (y compris accentués). La chaine “UN É & UN À.”
deviendra donc “unéunà”.
dataset1 <- add_or_update_dataset(
title = "données sur l'évolution des eaux de surface",
description = "Un jeu de données de test",
frequency = "unknown",
topic = "Transports"
)
#> dataset `données sur l'évolution des eaux de surface` créé
dataset2 <- add_or_update_dataset(
title = "Données sur l'évolution des eaux de surface.",
description = "Un jeu de données de test",
frequency = "unknown",
topic = "Logement"
)
#> dataset `Données sur l'évolution des eaux de surface.` créé
dataset1$id == dataset2$id
#> [1] FALSE
dataset1$title
#> [1] "données sur l'évolution des eaux de surface"
dataset1$topic
#> [1] "Transports"
dataset2$title
#> [1] "Données sur l'évolution des eaux de surface."
dataset2$topic
#> [1] "Logement"
Méthodes avancées
La fonction de comparaison de base ne permet de modifier le titre d’un objet qu’à la marge (transformer une minuscule en majuscule, ajouter ou supprimer une ponctuation…).
Si, pour une raison quelconque, vous avez besoin de modifier ce titre
de façon plus importante (par exemple pour corriger un titre), vous
pouvez remplacer temporairement la méthode de base par votre propre
méthode de comparaison en fixant l’option
didoscalim_title_comparison
.
La méthode s’applique sur la chaine “nettoyée” (passage en minuscule et conservation des caractères alphanumériques).
En exemple, la fonction suivante, qui s’appuie sur la librairie {stringdist}, permet de rechercher les titres qui ont une différence de 3 caractères maximum :
library(withr)
library(stringdist)
withr::local_options(list(didoscalim_title_comparison = function(column, string) {
stringdist(column, string) <= 3
}))
dataset1 <- add_or_update_dataset(
title = "données sur l'évolution des espèce",
description = "Un jeu de données de test",
frequency = "unknown",
topic = "Transports"
)
#> dataset `données sur l'évolution des espèce` créé
dataset2 <- add_or_update_dataset(
title = "Données sur l'évolution des espèces.",
description = "Un jeu de données de test",
frequency = "unknown",
topic = "Transports"
)
#> dataset `Données sur l'évolution des espèces.` créé
dataset1$id == dataset2$id
#> [1] FALSE
dataset1$title
#> [1] "données sur l'évolution des espèce"
dataset2$title
#> [1] "Données sur l'évolution des espèces."
Dans ce cas, il est fortement conseillé d’utiliser
l’option didoscalim_update_only
afin d’éviter de créer des
objets par erreur.
didoscalim_update_only(TRUE)
#> Error in didoscalim_update_only(TRUE): impossible de trouver la fonction "didoscalim_update_only"
dataset <- add_or_update_dataset(
title = "Données sur l'évolution des écosystèmes.",
description = "Un jeu de données de test",
frequency = "unknown",
topic = "Transports"
)
#> dataset `Données sur l'évolution des écosystèmes.` créé