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
Einführung in das Schreiben von Funktionen in R
Anleitung zur Übung
- 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 Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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]"
)