ค้นหาส่วนที่มีปัญหา
เมื่อทำงานกับลิสต์ขนาดเล็ก การตรวจสอบด้วยตนเองทีละองค์ประกอบเพื่อหาจุดที่มีปัญหาอาจดูไม่ยุ่งยากนัก แต่ถ้าลิสต์มีหลักร้อยหรือหลักพันองค์ประกอบ การทำให้กระบวนการนี้เป็นอัตโนมัติคือสิ่งจำเป็น
ตอนนี้จะมาดูสถานการณ์ที่ลิสต์มีขนาดใหญ่ขึ้น เพื่อให้เห็นว่าข้อความแสดงข้อผิดพลาดช่วยตรวจสอบลิสต์ทั้งหมดได้อย่างไร
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Foundations of Functional Programming with purrr
คำแนะนำการฝึกหัด
- ใช้
map()วนซ้ำในsw_peopleแล้วดึงองค์ประกอบ "height" ออกมา - ใช้
map()ร่วมกับsafely()เพื่อแปลงค่าความสูงจากเซนติเมตรเป็นฟุต - กำหนด
quiet = FALSEเพื่อให้แสดงข้อผิดพลาดออกมา - ส่งต่อด้วย Pipe ไปยัง
transpose()เพื่อแสดงผลลัพธ์ก่อน
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Map over sw_people and pull out the height element
height_ft <- map(___ , ___) %>%
map(safely(function(___){
___ * 0.0328084
}, quiet = ___)) %>%
___
# Print your list, the result element, and the error element
height_ft
height_ft[["result"]]
height_ft[["error"]]