Kom igångKom igång gratis

Logiska standardvärden

cut_by_quantile() är nu något enklare att använda, men du behöver fortfarande alltid ange argumentet na.rm. Det här argumentet tar bort saknade värden – det fungerar på samma sätt som na.rm i mean() eller sd().

När funktioner har ett argument för att ta bort saknade värden är bästa praxis att inte ta bort dem som standard (ifall du inte har märkt att du har saknade värden). Det innebär att standardvärdet för na.rm bör vara FALSE.

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 na.rm får standardvärdet FALSE.
  • Ta bort argumentet na.rm 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 na.rm to FALSE
cut_by_quantile <- function(x, n = 5, na.rm, 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 na.rm argument from the call
cut_by_quantile(
  n_visits, 
  na.rm = FALSE, 
  labels = c("very low", "low", "medium", "high", "very high"),
  interval_type = "(lo, hi]"
)
Redigera och kör kod