Valeurs par défaut logiques
cut_by_quantile() est désormais un peu plus simple à utiliser, mais vous devez toujours préciser l’argument na.rm. Celui-ci supprime les valeurs manquantes — il se comporte comme l’argument na.rm de mean() ou sd().
Lorsque des fonctions proposent un argument pour supprimer les valeurs manquantes, la bonne pratique est de ne pas les supprimer par défaut (au cas où vous n’auriez pas remarqué qu’il y en avait). Cela signifie que la valeur par défaut de na.rm doit être FALSE.
Cet exercice fait partie du cours
Introduction à l’écriture de fonctions en R
Instructions
- Mettez à jour la définition de
cut_by_quantile()pour que l’argumentna.rmaitFALSEcomme valeur par défaut. - Supprimez l’argument
na.rmde l’appel àcut_by_quantile().
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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]"
)