ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Actualiza la definición de cut_by_quantile() para que el argumento na.rm tenga como valor por defecto FALSE.
  • Elimina el argumento na.rm de la llamada a cut_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]"
)
Editar y ejecutar código