ComeçarComece de graça

Padrões lógicos

cut_by_quantile() agora ficou um pouco mais fácil de usar, mas você ainda precisa especificar o argumento na.rm sempre. Ele remove valores ausentes — tem o mesmo comportamento que o argumento na.rm de mean() ou sd().

Quando funções têm um argumento para remover valores ausentes, a boa prática é não removê-los por padrão (caso você não tenha notado que havia valores ausentes). Isso significa que o padrão de na.rm deve ser FALSE.

Este exercício faz parte do curso

Introdução à Escrita de Funções em R

Ver curso

Instruções do exercício

  • Atualize a definição de cut_by_quantile() para que o argumento na.rm tenha FALSE como padrão.
  • Remova o argumento na.rm da chamada a cut_by_quantile().

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código