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

Hoàn thiện function với purrr

Chúng ta vẫn đang hoàn thiện một function để phát hiện xem một danh sách URL có chứa phần tử không khả dụng hay không.

Hãy điểm lại những gì bạn đã viết đến giờ:

  • Bộ trích xuất lỗi, bằng cách kết hợp safely()map(.x, "error").
  • Bộ trích xuất "không-null", bằng cách kết hợp safely()discard(.x, is.null).
  • Bộ tạo 404, bằng cách dùng possibly(.x, otherwise = 404), rồi chuyển thành một function.

Chúng ta sẽ thay đổi một chút hành vi của function này: giờ bạn muốn có thể chọn giữa việc trả về kết quả hoặc lỗi.

Điều này cho phép bạn trả lời hai câu hỏi chỉ với một function: URL nào không truy cập được và URL nào truy cập được? Để làm vậy, bạn sẽ thêm một tham số tên là "type" vào trong function này.

Vector urlssafe_read() đã có sẵn trong workspace của bạn.

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

Lập trình hàm nâng cao với purrr

Xem khóa học

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

Hoàn thiện định nghĩa function.

  • Map safe_read() lên danh sách URL.
  • Đặt tên của kết quả theo danh sách URL.
  • Chuyển vị (transpose) kết quả thành một list gồm $result và $error.
  • Dùng pluck() để trích xuất phần tử type.

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.

# Complete the function definition
url_tester <- function(url_list, type = c("result", "error")) {
  type <- match.arg(type)
  url_list %>%
    # Apply safe_read to each URL
    ___(___) %>%
    # Set the names to the URLs
    ___(___) %>%
    # Transpose into a list of $result and $error
    ___()  %>%
    # Pluck the type element
    ___(___) 
}

# Try this function on the urls object
url_tester(urls, type = "error") 
Chỉnh sửa và Chạy Mã