Aan de slagBegin gratis

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

Bekijk cursus

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().

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan 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