Логічні значення за замовчуванням
cut_by_quantile() тепер трохи зручніше використовувати, але вам усе ще доводиться щоразу вказувати аргумент na.rm. Він прибирає пропущені значення — працює так само, як аргумент na.rm у mean() або sd().
Коли у функції є аргумент для видалення пропущених значень, найкраща практика — не видаляти їх за замовчуванням (на випадок, якщо ви не помітили, що у вас є пропуски). Отже, значенням за замовчуванням для na.rm має бути FALSE.
Ця вправа є частиною курсу
Вступ до написання функцій в R
Інструкції до вправи
- Оновіть визначення
cut_by_quantile()так, щоб аргументna.rmза замовчуванням дорівнювавFALSE. - Приберіть аргумент
na.rmіз викликуcut_by_quantile().
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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]"
)