Numerische Standardwerte
cut_by_quantile() wandelt einen numerischen Vektor in eine kategoriale Variable um, wobei Quantile die Schnittpunkte definieren. Das ist eine nützliche Funktion, aber im Moment musst du fünf Argumente angeben, damit sie funktioniert. Das ist zu viel Denken und Tippen.
Mit Standardargumenten kannst du die Nutzung einfacher machen. Fangen wir mit n an. Es gibt an, in wie viele Kategorien x unterteilt werden soll.
Ein numerischer Vektor mit der Anzahl der Besuche des Snake River ist als n_visits gegeben.
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 Argumentnstandardmäßig5ist. - Entferne das Argument
naus dem Aufruf voncut_by_quantile().
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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]"
)