LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • 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 Ü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]"
)
Code bearbeiten und ausführen