Aan de slagGa gratis aan de slag

NULL-standaardwaarden

De cut()-functie die door cut_by_quantile() wordt gebruikt, kan automatisch logische labels voor elke categorie genereren. De code om deze labels te maken is best ingewikkeld. Daarom staat die niet direct in de functiedefinitie, maar krijgt het argument labels de standaardwaarde NULL, en worden de rekenstappen uitgelegd op de help-pagina van cut() (docs).

Deze oefening maakt deel uit van de cursus

Introductie tot functies schrijven in R

Cursus bekijken

Oefeninstructies

  • Werk de definitie van cut_by_quantile() bij zodat het argument labels standaard NULL is.
  • Verwijder het argument labels uit de aanroep van cut_by_quantile().

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Set the default for labels to NULL
cut_by_quantile <- function(x, n = 5, na.rm = FALSE, labels, interval_type) {
  probs <- seq(0, 1, length.out = n + 1)
  qtiles <- quantile(x, probs, na.rm = na.rm, names = FALSE)
  right <- switch(interval_type, "(lo, hi]" = TRUE, "[lo, hi)" = FALSE)
  cut(x, qtiles, labels = labels, right = right, include.lowest = TRUE)
}

# Remove the labels argument from the call
cut_by_quantile(
  n_visits,
  labels = c("very low", "low", "medium", "high", "very high"),
  interval_type = "(lo, hi]"
)
Code bewerken en uitvoeren