1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Nền tảng Lập trình Hàm với purrr

Connected

Bài tập

Thay bằng NA với safely()

Nếu bạn dùng map() trên một list và có phần tử không đúng kiểu dữ liệu, bạn sẽ không nhận được đầu ra như mong đợi. Ví dụ, bạn muốn thực hiện phép toán trên từng phần tử, nhưng một phần tử lại là kiểu ký tự (character) — thao tác đó sẽ không chạy được.

Với một list rất lớn, việc xác định sai ở đâu và cụ thể sai gì có thể rất khó. Đây là lúc safely() phát huy tác dụng; hàm này cho bạn thấy cả kết quả lẫn vị trí lỗi xảy ra trong lời gọi map() của bạn.

Hướng dẫn 1/4

undefined XP
    1
    2
    3
    4
  • Dùng safely() với log. Hàm này sẽ lỗi với đối số không phải số, vì vậy ta sẽ pipe sang transpose() để đưa phần kết quả lên trước.