Mặc định NULL
Hàm cut() được cut_by_quantile() sử dụng có thể tự động tạo ra các nhãn hợp lý cho mỗi nhóm. Mã tạo các nhãn này khá phức tạp, nên thay vì xuất hiện trực tiếp trong chữ ký hàm, đối số labels của nó mặc định là NULL, và chi tiết cách tính được trình bày trên trang trợ giúp của cut() (tài liệu).
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
Hướng dẫn bài tập
- Cập nhật định nghĩa
cut_by_quantile()để đối sốlabelsmặc định làNULL. - Xóa đối số
labelskhỏi lời gọi hàmcut_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 labels to NULL
cut_by_quantile <- function(x, n = 5, na.rm = FALSE, 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 labels argument from the call
cut_by_quantile(
n_visits,
labels = c("very low", "low", "medium", "high", "very high"),
interval_type = "(lo, hi]"
)