การอ่านจำนวนเต็มขนาดใหญ่
เมื่อนำเข้าชุดข้อมูลขนาดใหญ่ การนำเข้าตัวเลขที่ไม่มีทศนิยมในรูปแบบจำนวนเต็ม (integer) อาจช่วยประหยัดพื้นที่หน่วยความจำได้ ฟังก์ชันพื้นฐานของ R (เช่น read.csv(), read.table() เป็นต้น) จะทำแบบนี้โดยอัตโนมัติเมื่อตัวเลขมีค่าน้อยกว่า 2^31 - 1 (หรือ 2147483647) แต่หากคอลัมน์มีตัวเลขที่มากกว่านี้ จะถูกนำเข้าเป็นประเภท numeric โดยค่าเริ่มต้น
หากติดตั้งแพ็กเกจ bit64 ไว้แล้ว fread() จะนำเข้าคอลัมน์ที่มีตัวเลขขนาดใหญ่เหล่านี้เป็นประเภท integer64 ซึ่งกำหนดไว้ในแพ็กเกจ bit64 โดยอัตโนมัติ
ไฟล์ที่จะนำเข้ามีเนื้อหาดังนี้:
id,name,val
9002019291929192,Robert Whitaker, 200
9200129401349301 ,Elisa Waters,190
9200149429834456 , Karla Schmidt,458
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจัดการข้อมูลด้วย data.table ใน R
คำแนะนำการฝึกหัด
- นำเข้าไฟล์
sample.csvโดยใช้fread()และread.csv() - แสดงคลาสของคอลัมน์
idในfread_importและbase_import
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import the file using fread
fread_import <- ___("sample.csv")
# Import the file using read.csv
base_import <- ___("sample.csv")
# Check the class of id column
___(fread_import$id)
class(base_import$id)