Logische Standardwerte
cut_by_quantile() ist jetzt etwas einfacher zu verwenden, aber du musst immer noch das Argument na.rm angeben. Dieses entfernt fehlende Werte – es verhält sich genauso wie das Argument na.rm bei mean() oder sd().
Wenn Funktionen ein Argument zum Entfernen fehlender Werte haben, ist es Best Practice, diese standardmäßig nicht zu entfernen (falls dir entgangenen ist, dass fehlende Werte vorhanden sind). Das bedeutet, dass der Standardwert für na.rm FALSE sein sollte.
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 Argumentna.rmstandardmäßig aufFALSEgesetzt ist. - Entferne das Argument
na.rmaus dem Aufruf voncut_by_quantile().
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Set the default for na.rm to FALSE
cut_by_quantile <- function(x, n = 5, 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 na.rm argument from the call
cut_by_quantile(
n_visits,
na.rm = FALSE,
labels = c("very low", "low", "medium", "high", "very high"),
interval_type = "(lo, hi]"
)