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

Các phép toán có thể gập (I)

Một phép toán cho ra cùng một kết quả dù bạn áp dụng trực tiếp lên toàn bộ dữ liệu, hay áp dụng lên từng khối (chunk) rồi kết hợp các kết quả từ các khối, đôi khi được gọi là foldable. Các phép max()min() là ví dụ cho kiểu này. Ở đây, chúng ta đã định nghĩa một phiên bản foldable của hàm range() có thể nhận vào một vector hoặc một list các vector. Hãy kiểm tra rằng hàm này hoạt động đúng bằng cách thử trên bộ dữ liệu mortgage.

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

Xử lý dữ liệu có khả năng mở rộng trong R

Xem khóa học

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

  • Xác nhận rằng foldable_range() hoạt động trên cột "record_number" của bộ dữ liệu mort.

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.

foldable_range <- function(x) {
  if (is.list(x)) {
    # If x is a list then reduce it by the min and max of each element in the list
    c(Reduce(min, x), Reduce(max, x))
  } else {
    # Otherwise, assume it's a vector and find its range
    range(x)
  }
}

# Verify that foldable_range() works on the record_number column
___
Chỉnh sửa và Chạy Mã