More

    Enrichir un package R avec des données : Guide complet

    France

    Dans le développement de packages R, les créateurs se concentrent souvent sur la création de fonctions personnalisées, leur documentation et les tests unitaires. Cependant, pour offrir une expérience utilisateur complète, il peut être très utile d’inclure des données au sein du package. Voici tout ce que vous devez savoir à ce sujet !

    Un aperçu rapide

    Dans cet article, nous présentons les différentes manières d’incorporer des données dans un package R. Nous couvrons les trois répertoires utilisés pour stocker les données et expliquons comment y accéder, que vous soyez un utilisateur ou un développeur de package. Enfin, nous discutons des meilleures pratiques pour documenter ces données.

    Pourquoi inclure des données dans un package ?

    Inclure des données dans un package peut être utile pour plusieurs raisons :

    • Simplifier l’utilisation du package : Les données incluses dans le package sont directement accessibles par les utilisateurs.
    • Faciliter la reproductibilité : Les données permettent aux utilisateurs de reproduire les exemples fournis dans la documentation.
    • Améliorer les tests unitaires : Les données incluses peuvent être utilisées pour tester les fonctions du package.
    • Partager des informations : Distribution de documentation, d’articles scientifiques, d’exemples de code, etc.

    Le terme « données » doit être interprété de manière large. Il comprend des données tabulaires typiquement utilisées dans R (par exemple, des fichiers CSV ou XLSX, ou des objets data.frame), mais aussi des images, des fichiers de configuration, des articles, des exemples de code, etc.

    Répertoires de données dans un package R

    Il existe trois répertoires dans un package R utilisés pour stocker des données : data-raw/, data/ et inst/, chacun ayant un objectif spécifique et s’adressant à différents publics (développeurs contre utilisateurs).

    Le couple data-raw/ et data/

    L’objectif ici est de rendre les données disponibles aux utilisateurs du package, qui peuvent être utilisées par les fonctions du package ou incluses dans les exemples de documentation. Ces données seront représentées sous forme d’objets R (par exemple, data.frame, liste, etc.).

    Le répertoire inst/

    Ce répertoire vous permet de stocker des fichiers sans restrictions de format : fichiers tabulaires, scripts d’exemple de code, carnets au format Rmd/Qmd, documentation PDF, etc. Il n’y a pas de limites.

    Utilisation de data-raw/ et data/

    Cas d’utilisation : Vous souhaitez rendre les données disponibles aux utilisateurs du package pour qu’elles puissent être utilisées par les fonctions de celui-ci. L’objectif est de fournir un accès natif depuis les fonctions du package.

    Exemple

    1. Créez le répertoire data-raw/ en utilisant la commande usethis::use_data_raw("my_dataset_demo"). Cette commande crée un fichier my_dataset_demo.R dans le répertoire data-raw/.
    2. Préparez le jeu de données dans le fichier my_dataset_demo.R :
    3. # Créez un échantillon du jeu de données "starwars" du package dplyr
      library(dplyr)
      library(readr)
      starwars_raw <- read_csv("data-raw/starwars.csv")
      starwars_sample <- starwars_raw |> sample_n(size = 10)
      usethis::use_data(starwars_sample, overwrite = TRUE)
    4. Après avoir exécuté la commande usethis::use_data(starwars_sample, overwrite = TRUE), vous verrez un fichier nommé starwars_sample.rda dans le répertoire data/.
    5. Il reste encore du travail : nous devons maintenant documenter le jeu de données. Pour cela, nous utiliserons le paquet {checkhelper}.

    Utilisation de inst/

    Cas d’utilisation : Vous souhaitez stocker des fichiers destinés uniquement à des tests unitaires ou pour partager une documentation supplémentaire (par exemple, un article scientifique).

    Exemple

    1. Créez le répertoire inst/ à la racine du package : dir.create(here::here("inst")).
    2. Placez les fichiers souhaités dans le répertoire.
    3. Installez le package : remotes::install_local().
    4. Les fichiers sont maintenant accessibles à l’aide d’une fonction spéciale : system.file(), qui pointe vers la racine du répertoire inst/.
    Package R | R | Données | Développement | Documentation | Test Unitaire | France

    LAISSER UN COMMENTAIRE

    S'il vous plaît entrez votre commentaire!
    S'il vous plaît entrez votre nom ici


    Actualités

    L’acteur de Friends, Matthew Perry, décède à 54 ans

    "Matthew Perry, célèbre pour son rôle de Chandler Bing dans Friends, décède à 54 ans. Acteur très apprécié, sa mort suscite l'émotion mondiale."

    Entité sioniste déploie des navires de guerre en Mer Rouge selon un expert militaire

    Entité sioniste déploie des navires de guerre en Mer Rouge pour contrer les Houthis au Yémen, une manœuvre vue comme une démonstration de force envers l'Iran.

    L’affaire des SMS entre Pfizer et la Commission européenne : ce qu’il faut savoir

    En avril 2021, le New York Times a révélé...

    Banque suisse : Credit Suisse en chute libre après la faillite de la SVB

    L'action de Credit Suisse a dévissé de plus de...

    Le Retour de Microsoft avec Bing et Edge : Une Menace pour Google ?

    Depuis moins de trois mois, ChatGPT a déjà créé...

    SpaceX : BlackRock aurait discuté d’un investissement géant pour l’IPO, ce que l’on sait vraiment

    Un possible investissement de BlackRock dans l’IPO de SpaceX alimente les marchés, mais le dossier reste au stade de discussions rapportées et non confirmées officiellement.

    Tesla remonte les prix du Model Y aux États-Unis, une première depuis deux ans

    Le constructeur a relevé de 500 à 1 000 dollars le prix de plusieurs Model Y aux États-Unis, sans expliquer officiellement les raisons de ce changement.

    Chine-États-Unis : Pékin évoque des baisses de droits de douane et un accès élargi au marché agricole après le sommet Trump-Xi

    Pékin affirme vouloir avancer sur des baisses tarifaires, l’accès au marché et les achats agricoles américains, tout en rappelant que les accords restent préliminaires.

    Hantavirus : le séquençage n’indique pas de variant plus transmissible ou plus dangereux, ce que cela veut dire

    Le séquençage complet du virus détecté chez la passagère française du MV Hondius n’indique pas l’émergence d’un variant plus dangereux. Explications utiles et sans alarmisme.

    Affaire Khashoggi : la justice française ouvre une nouvelle enquête sensible

    Après une décision de la cour d’appel de Paris, la justice française ouvre une information judiciaire dans l’affaire Jamal Khashoggi.

    Hantavirus : symptômes, transmission et vrai niveau de risque

    Que sait-on vraiment du hantavirus après les dernières mises à jour de l’OMS, du CDC et de l’ECDC ? Symptômes, transmission, prévention et niveau de risque en Europe.

    Trump, Xi et Ormuz : ce que Pékin dit — et ne dit pas — sur la pression contre l’Iran

    Washington assure que Xi soutient la réouverture du détroit d’Ormuz, mais la Chine garde une ligne publique plus prudente et centrée sur la désescalade.

    Hantavirus en France : où circule-t-il et comment l’éviter

    Le cluster international lié au MV Hondius a replacé le hantavirus dans l’actualité. En France, le vrai enjeu reste de comprendre les zones d’exposition, les symptômes à surveiller et les bons gestes de prévention.

    à Lire

    Categories