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
Oefeninstructies
- Pas de definitie van
cut_by_quantile()aan zodat het argumentnstandaard5is. - Verwijder het argument
nuit de aanroep vancut_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]"
)