เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

วนซ้ำและกรองข้อมูล

ในฐานะที่ปรึกษาด้านข้อมูล คุณได้รับข้อมูลในรูปแบบและขนาดที่หลากหลาย ล่าสุดลูกค้าส่งไฟล์ CSV ขนาด 40 กิกะไบต์มาให้ ซึ่งบรรจุข้อมูลสถาบันการศึกษาระดับอุดมศึกษาทั่วโลก

นักวิเคราะห์รุ่นใหม่ไม่สามารถอ่านข้อมูลได้เนื่องจากหน่วยความจำไม่เพียงพอ และงบประมาณไม่ครอบคลุมทรัพยากรที่จำเป็นสำหรับการประมวลผลชุดข้อมูลทั้งหมด การวิเคราะห์ครั้งนี้ต้องการเฉพาะข้อมูลของสถาบันในออสเตรเลียเท่านั้น พาธของไฟล์ CSV ถูกเก็บไว้ในตัวแปร filepath แล้ว ให้สร้างตัวอ่านข้อมูลที่มีประสิทธิภาพสำหรับงานนี้ โดยโหลดแพ็กเกจ parallel, doParallel, foreach และ iterators ไว้ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การเขียนโปรแกรมแบบขนานใน R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ iterator เพื่ออ่านแต่ละบรรทัดจาก filepath
  • รวมผลลัพธ์โดยใช้ฟังก์ชันที่เหมาะสมเพื่อสร้าง data frame
  • ระบุตัวดำเนินการแบบขนาน (parallel operator)

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

cl <- makeCluster(4)
registerDoParallel(cl)
# Use an iterator to read lines
foreach(l = ___,
        # Combine the lines as rows
        ___ = ___
        # Use the parallel operator
        ) ___ {
  line <- strsplit(l, ",")[[1]]
  if (line[4] == "Australia") {
    return(line)
  }
}

stopCluster(cl)
แก้ไขและรันโค้ด