การดำเนินการแบบ Foldable (I)
การดำเนินการที่ให้ผลลัพธ์เหมือนกัน ไม่ว่าจะนำไปใช้กับชุดข้อมูลทั้งหมดหรือประมวลผลทีละส่วนแล้วนำผลมารวมกัน เรียกว่า foldable โดย max() และ min() เป็นตัวอย่างของการดำเนินการประเภทนี้
ในที่นี้ได้กำหนดฟังก์ชัน range() เวอร์ชัน foldable ที่รับ vector หรือ list ของ vector เป็น input
ทดสอบกับชุดข้อมูล mortgage เพื่อตรวจสอบว่าฟังก์ชันทำงานได้ถูกต้อง
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การประมวลผลข้อมูลขนาดใหญ่ใน R
คำแนะนำการฝึกหัด
- ทดสอบว่า
foldable_range()ทำงานได้ถูกต้องกับคอลัมน์"record_number"ในชุดข้อมูลmort
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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
___