NULL-Standards
Die von cut_by_quantile() verwendete Funktion cut() kann automatisch sinnvolle Beschriftungen für jede Kategorie bereitstellen. Der Code zur Generierung dieser Beschriftungen ist ziemlich kompliziert. Deshalb erscheint er nicht direkt in der Funktionssignatur; stattdessen ist das Argument labels standardmäßig NULL, und die Berechnungsdetails sind auf der Hilfeseite von cut() zu finden (Docs).
Diese Übung ist Teil des Kurses
<Kurs>Einführung in das Schreiben von Funktionen in R</Kurs>Übungsanweisungen
- Aktualisiere die Definition von
cut_by_quantile(), sodass das ArgumentlabelsstandardmäßigNULList. - Entferne das Argument
labelsaus dem Aufruf voncut_by_quantile().
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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]"
)