Laatste stappen

R-pakketten ontwikkelen

Jasmin Ludolf

Content Developer

Structuur van een R-pakket

R-pakket skelet

R-pakketten ontwikkelen

Pakketversies

Voorbeeld: tidyr 1.3.0

  • Formaat: <major>.<minor>.<patch>.<dev>
  • Standaard: 0.0.0.9000
  • 9000: pakket in ontwikkeling
R-pakketten ontwikkelen

Richtlijnen voor versieverhoging

Formaat: <major>.<minor>.<patch>.<dev>

  • dev: zelden aangepast, verwijderen voor release
  • patch: gewijzigd voor bugfixes
    • Meer bugs vóór functiewijziging
  • minor: kleine extra functionaliteit vóór eerste release
    • patch-nummer terug naar 0
  • major: pakket stabiel voor release
    • Van 1.5.3 naar 2.0.0: oude code kan breken

 

  • Niet in ontwikkeling: 0.0.0.9000 -> 0.0.0
  • Één bug gefixt: 0.0.1
  • Nog een bug gefixt: 0.0.2
  • Extra functionaliteit: 0.1.0

 

  • Stabiel voor release: 1.0.0
  • Grote wijzigingen: 2.0.0
R-pakketten ontwikkelen

Titel, auteur, versie en beschrijving bijwerken

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).
Package: unitConverter
Title: Hulpprogramma’s voor eenheidsconversie voor afstand, 
    tijd, gewicht en temperatuur

Version: 0.1.0
Authors@R: person("Jasmin", "Ludolf", , "[email protected]", role = c("aut", "cre"))
Description: Het pakket `unitConverter` biedt een set hulpfuncties voor het omzetten van afstands-, tijd-, gewichts- en temperatuurwaarden. Het maakt naadloze conversie tussen diverse eenheden binnen elke categorie mogelijk, zodat gebruikers met gemak meetgegevens kunnen omzetten.
R-pakketten ontwikkelen

Een databestand documenteren

use_r("temperature_data")

Bewerk R/temperature_data.R:

#' Temperatuurwaarden en eenheden
#'

#' Temperatuurwaarden en bijbehorende eenheid (Celsius, Fahrenheit of Kelvin)
#' @format Data frame met twee kolommen en 1000 rijen
#' \describe{ #' \item{value}{Numerieke temperatuurwaarde.} #' \item{unit}{Temperatuureenheid.} #' }
#' @examples #' temperature_data
"temperature_data"
roxygenize()
R-pakketten ontwikkelen

Waar controleert devtools::check() op?

devtools::check()

  • Kan het pakket geïnstalleerd worden
  • Info in DESCRIPTION is correct
  • Pakketafhankelijkheden
  • Syntaxfouten in code
  • Volledige documentatie
  • Tests slagen
  • Vignetten bouwen succesvol

Vinkje

R-pakketten ontwikkelen

devtools::check() uitvoeren

unitConverter check GIF

R-pakketten ontwikkelen

Laten we oefenen!

R-pakketten ontwikkelen

Preparing Video For Download...