LoslegenKostenlos starten

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>
Kurs ansehen

Übungsanweisungen

  • Aktualisiere die Definition von cut_by_quantile(), sodass das Argument na.rm standardmäßig auf FALSE gesetzt ist.
  • Entferne das Argument na.rm aus dem Aufruf von cut_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]"
)
Code bearbeiten und ausführen