Bắt đầu ngayBắt đầu miễn phí

Giá trị mặc định kiểu logic

cut_by_quantile() giờ đã dễ dùng hơn một chút, nhưng bạn vẫn luôn phải chỉ định tham số na.rm. Tham số này dùng để loại bỏ giá trị thiếu—hành vi giống với na.rm của mean() hoặc sd().

Với các hàm có tham số để loại bỏ giá trị thiếu, thực hành tốt nhất là không loại bỏ theo mặc định (phòng trường hợp bạn chưa phát hiện ra dữ liệu thiếu). Nghĩa là mặc định của na.rm nên là FALSE.

Bài tập này là một phần của khóa học

Nhập môn viết hàm trong R

Xem khóa học

Hướng dẫn bài tập

  • Cập nhật định nghĩa cut_by_quantile() để tham số na.rm mặc định là FALSE.
  • Xóa tham số na.rm khỏi lời gọi cut_by_quantile().

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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]"
)
Chỉnh sửa và Chạy Mã