Pakketafhankelijkheden

R-pakketten ontwikkelen

Jasmin Ludolf

Content Developer

Structuur van een R-pakket

Skelet van R-pakket

R-pakketten ontwikkelen

Drie types dependencies

  1. Imports:
    • Vereist
    • Laat functies in ons pakket goed werken
    • Automatisch geladen

Imports-vak

R-pakketten ontwikkelen

Drie types dependencies

  1. Imports:

    • Vereist
    • Laat functies in ons pakket goed werken
    • Automatisch geladen
  2. Suggests:

    • Niet vereist
    • Extra functionaliteit

Imports-vak

Suggests-lampje

R-pakketten ontwikkelen

Drie types dependencies

  1. Imports:

    • Vereist
    • Laat functies in ons pakket goed werken
    • Automatisch geladen
  2. Suggests:

    • Niet vereist
    • Extra functionaliteit
  3. Depends:

    • Koppelt de dependency
    • Zelden gebruikt

Imports-vak

Suggests-lampje

Depends-vraagteken

R-pakketten ontwikkelen

CRAN-pakket toevoegen als dependency

  • Voeg stringr toe aan Imports
library(usethis)
use_package("stringr", type = "Imports")

stringr importoutput

In DESCRIPTION-bestand

Imports: 
    stringr
R-pakketten ontwikkelen

Minimale pakketversie instellen als dependency

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

stringr importoutput

In DESCRIPTION-bestand

Imports: 
    stringr (>= 1.4.0)
R-pakketten ontwikkelen

use_package() gebruiken voor Suggests

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

tibble Suggests-output

R-pakketten ontwikkelen

use_package() gebruiken voor Depends

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

glue Depends-output

R-pakketten ontwikkelen

DESCRIPTION opnieuw bekijken - deel 1

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
...
R-pakketten ontwikkelen

DESCRIPTION opnieuw bekijken - deel 2

...
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.2.3
Depends: 
    R (>= 2.10)
LazyData: true
Imports: 
    stringr (>= 1.4.0)
Suggests: 
    tibble
Depends:
    glue
R-pakketten ontwikkelen

Laten we oefenen!

R-pakketten ontwikkelen

Preparing Video For Download...