Zacznij terazZacznij za darmo

Logiczne wartości domyślne

cut_by_quantile() jest teraz nieco wygodniejsza w użyciu, ale nadal trzeba za każdym razem podawać argument na.rm. Usuwa on brakujące wartości – działa tak samo jak argument na.rm w funkcjach mean() czy sd().

Jeśli funkcja posiada argument do usuwania brakujących wartości, najlepszą praktyką jest nie usuwać ich domyślnie (na wypadek gdybyś nie zauważył, że dane zawierają brakujące wartości). Oznacza to, że wartość domyślna argumentu na.rm powinna wynosić FALSE.

To ćwiczenie jest częścią kursu

Wprowadzenie do pisania funkcji w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaktualizuj definicję funkcji cut_by_quantile() tak, aby argument na.rm miał domyślną wartość FALSE.
  • Usuń argument na.rm z wywołania funkcji cut_by_quantile().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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]"
)
Edytuj i uruchom kod