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

การวนซ้ำแบบปลอดภัย

เช่นเดียวกับบทที่แล้ว สมมติว่าคุณเป็นนักวิเคราะห์ข้อมูลที่ทำงานให้กับเอเจนซีเว็บแห่งหนึ่ง คราวนี้ได้รับมอบหมายให้ทำ web scraping

(หมายเหตุ: ไม่ต้องกังวลหากยังไม่คุ้นเคยกับ web scraping เราจะเริ่มจากสิ่งง่าย ๆ และจะอธิบายทุกฟังก์ชันที่ใช้)

คุณได้รับรายการ URL มา แต่สงสัยว่าบางรายการอาจไม่ใช่ที่อยู่จริง สิ่งแรกที่ต้องทำคือทดสอบว่าสามารถเชื่อมต่อกับ URL เหล่านั้นได้หรือไม่ เราจะใช้ฟังก์ชัน read_lines() จากแพ็กเกจ readr โดยนำไปใส่ไว้ใน safely() เมื่อรับ URL เข้ามา read_lines() จะอ่าน HTML หรือคืนค่าข้อผิดพลาดหาก URL นั้นเข้าถึงไม่ได้

เวกเตอร์ urls พร้อมใช้งานอยู่ใน workspace แล้ว หากต้องการดูข้อมูลภายใน ให้พิมพ์ลงใน console

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

Functional Programming ระดับกลางด้วย purrr

ดูคอร์ส

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

  • สร้างเวอร์ชันที่ปลอดภัยของฟังก์ชัน read_lines()

  • Map ฟังก์ชันที่สร้างขึ้นใหม่กับเวกเตอร์ urls ที่กำหนดให้

  • กำหนดชื่อให้กับผลลัพธ์ด้วยฟังก์ชัน set_names()

  • ดึงองค์ประกอบ "error" ออกจากแต่ละ sublist

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

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

# Create a safe version of read_lines()
safe_read <- ___(___)

# Map it on the urls vector
res <- ___(urls, ___)

# Set the name of the results to `urls`
named_res <- ___(res, ___)

# Extract only the "error" part of each sublist
___(named_res, ___)
แก้ไขและรันโค้ด