Dépendances des packages

Développer des packages R

Jasmin Ludolf

Content Developer

Structure d'un package R

Structure d'un package R

Développer des packages R

Trois types de dépendances

  1. Imports :
    • Requis
    • Permet aux fonctions du package de fonctionner correctement
    • Chargé automatiquement

Boîte Imports

Développer des packages R

Trois types de dépendances

  1. Imports :

    • Requis
    • Permet aux fonctions du package de fonctionner correctement
    • Chargé automatiquement
  2. Suggests :

    • Non requis
    • Fonctionnalités additionnelles

Boîte Imports

Ampoule Suggests

Développer des packages R

Trois types de dépendances

  1. Imports :

    • Requis
    • Permet aux fonctions du package de fonctionner correctement
    • Chargé automatiquement
  2. Suggests :

    • Non requis
    • Fonctionnalités additionnelles
  3. Depends :

    • Attache la dépendance
    • Rarement utilisé

Boîte Imports

Ampoule Suggests

Point d'interrogation Depends

Développer des packages R

Ajouter un package CRAN comme dépendance

  • Ajouter stringr à Imports
library(usethis)
use_package("stringr", type = "Imports")

résultat import stringr

Dans le fichier DESCRIPTION

Imports: 
    stringr
Développer des packages R

Définir une version minimale de package

usethis::use_package("stringr", min_version = "1.4.0")

résultat import stringr

Dans le fichier DESCRIPTION

Imports: 
    stringr (>= 1.4.0)
Développer des packages R

Utiliser use_package() pour Suggests

use_package("tibble", type = "Suggests")

résultat Suggests tibble

Développer des packages R

Utiliser use_package() pour Depends

use_package("glue", type = "Depends")

résultat Depends glue

Développer des packages R

Retour sur DESCRIPTION — première partie

Package: unitConverter
Title: What the Package Does (One Line, Title Case)
Version: 0.0.0.9000
Authors@R: 
    person("First", "Last", , "[email protected]", role = c("aut", "cre"),
           comment = c(ORCID = "YOUR-ORCID-ID"))
Description: What the package does (one paragraph).
License: MIT
Encoding: UTF-8
...
Développer des packages R

Retour sur DESCRIPTION — seconde partie

...
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.2.3
Depends: 
    R (>= 2.10)
LazyData: true
Imports: 
    stringr (>= 1.4.0)
Suggests: 
    tibble
Depends:
    glue
Développer des packages R

Passons à la pratique !

Développer des packages R

Preparing Video For Download...