Valores lógicos por defecto
cut_by_quantile() ahora es un poco más fácil de usar, pero aún tienes que especificar siempre el argumento na.rm. Este elimina los valores ausentes; se comporta igual que el argumento na.rm de mean() o sd().
Cuando las funciones tienen un argumento para eliminar valores ausentes, la mejor práctica es no eliminarlos por defecto (por si no habías detectado que tenías valores ausentes). Esto significa que el valor por defecto de na.rm debe ser FALSE.
Este ejercicio forma parte del curso
Introducción a la escritura de funciones en R
Instrucciones del ejercicio
- Actualiza la definición de
cut_by_quantile()para que el argumentona.rmtenga como valor por defectoFALSE. - Elimina el argumento
na.rmde la llamada acut_by_quantile().
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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]"
)