시작하기무료로 시작하기

논리형 기본값

cut_by_quantile()을(를) 이제 조금 더 쉽게 사용할 수 있지만, 여전히 na.rm 인수를 매번 지정해야 해요. 이 인수는 결측값을 제거하며, mean()이나 sd()na.rm 인수와 동일하게 동작해요.

결측값을 제거하는 인수가 있는 함수에서는, 기본적으로 결측값을 제거하지 않는 것이 모범 사례예요(결측값이 있는지 미처 못 봤을 수 있으니까요). 따라서 na.rm의 기본값은 FALSE가 되어야 해요.

이 연습은 강의의 일부입니다

R 함수 작성 입문

강의 보기

연습 안내

  • cut_by_quantile() 정의를 업데이트해서 na.rm 인수의 기본값이 FALSE가 되도록 하세요.
  • cut_by_quantile()을(를) 호출할 때 na.rm 인수를 제거하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# 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]"
)
코드 편집 및 실행