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

เปรียบเทียบเวลาในการอ่านไฟล์ CSV และ RDS

หนึ่งในงานที่พบบ่อยที่สุดคือการอ่านข้อมูลจากไฟล์ CSV อย่างไรก็ตาม สำหรับไฟล์ CSV ขนาดใหญ่ กระบวนการนี้อาจใช้เวลานาน เทคนิคที่ดีอย่างหนึ่งคืออ่านข้อมูลเข้ามาแล้วบันทึกเป็นไฟล์ไบนารีของ R (rds) โดยใช้ saveRDS() หากต้องการอ่านไฟล์ rds กลับเข้ามา ให้ใช้ readRDS()

หมายเหตุ: เนื่องจาก rds เป็นรูปแบบเนทีฟของ R สำหรับจัดเก็บออบเจกต์เดี่ยว จึงไม่มีการพึ่งพาไลบรารีของบุคคลที่สามที่อาจเปลี่ยนแปลงในอนาคต

หากต้องการเปรียบเทียบประสิทธิภาพของทั้งสองวิธี สามารถใช้ system.time() ฟังก์ชันนี้จะคืนค่าเวลาที่ใช้ในการประมวลผลนิพจน์ R ใดก็ได้ ตัวอย่างเช่น หากต้องการจับเวลาการคำนวณรากที่สองของตัวเลขตั้งแต่หนึ่งถึงสิบล้าน สามารถเขียนได้ดังนี้:

system.time(sqrt(1:1e7))

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

การเขียน R Code อย่างมีประสิทธิภาพ

ดูคอร์ส

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

ไฟล์ "movies.csv" และ "movies.rds" ทั้งสองมี data frame ที่เหมือนกัน ซึ่งบรรจุข้อมูลของภาพยนตร์ 45,000 เรื่อง

  • ใช้ฟังก์ชัน system.time() เพื่อวัดเวลาที่ใช้ในการอ่านไฟล์ CSV ด้วย read.csv("movies.csv")
  • ทำซ้ำสำหรับไฟล์ rds โดยใช้ readRDS() กับไฟล์ "movies.rds"

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

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

# How long does it take to read movies from CSV?
system.time(read.csv(___))

# How long does it take to read movies from RDS?
___
แก้ไขและรันโค้ด