Aan de slagGa gratis aan de slag

Numerieke standaardwaarden

cut_by_quantile() zet een numerieke vector om in een categorische variabele waarbij kwantielen de snijpunten bepalen. Dit is een handige functie, maar op dit moment moet je vijf argumenten opgeven om haar te laten werken. Dat is te veel denk- en typwerk.

Door standaardargumenten te definiëren, kun je het gebruik eenvoudiger maken. Laten we beginnen met n, dat aangeeft in hoeveel categorieën je x wilt opdelen.

Een numerieke vector met het aantal bezoeken aan Snake River is beschikbaar als n_visits.

Deze oefening maakt deel uit van de cursus

Introductie tot functies schrijven in R

Cursus bekijken

Oefeninstructies

  • Pas de definitie van cut_by_quantile() aan zodat het argument n standaard 5 is.
  • Verwijder het argument n uit de aanroep van cut_by_quantile().

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Set the default for n to 5
cut_by_quantile <- function(x, n, 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 n argument from the call
cut_by_quantile(
  n_visits, 
  n = 5, 
  na.rm = FALSE, 
  labels = c("very low", "low", "medium", "high", "very high"),
  interval_type = "(lo, hi]"
)
Code bewerken en uitvoeren