Kom igångKom igång gratis

NULL som standardvärde

Funktionen cut() som används av cut_by_quantile() kan automatiskt generera lämpliga etiketter för varje kategori. Koden som skapar dessa etiketter är ganska komplex, och visas därför inte direkt i funktionssignaturen. Istället har argumentet labels standardvärdet NULL, och beräkningsinformationen finns på hjälpsidan för cut() (docs).

Den här övningen är en del av kursen

Introduktion till att skriva funktioner i R

Visa kurs

Övningsinstruktioner

  • Uppdatera definitionen av cut_by_quantile() så att argumentet labels har standardvärdet NULL.
  • Ta bort argumentet labels från anropet till cut_by_quantile().

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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]"
)
Redigera och kör kod