วิธีใช้ colclasses เพื่อนำเข้าข้อมูลไปยัง r อย่างรวดเร็ว


คุณสามารถใช้อาร์กิวเมนต์ colClasses เมื่อนำเข้าไฟล์ไปยัง R เพื่อระบุคลาสสำหรับแต่ละคอลัมน์:

 df <- read. csv (' my_data.csv ',
               colClasses=c(' character ', ' numeric ', ' numeric '))

ข้อดีของการใช้ colClasses คือคุณสามารถนำเข้าข้อมูลได้รวดเร็วยิ่งขึ้น โดยเฉพาะเมื่อไฟล์มีขนาดใหญ่มาก

ตัวอย่างต่อไปนี้แสดงวิธีการใช้อาร์กิวเมนต์นี้ในทางปฏิบัติ

ตัวอย่าง: การใช้ colClasses เมื่อนำเข้าไฟล์

สมมติว่าฉันมีไฟล์ CSV ชื่อ my_data.csv ซึ่งมีสามคอลัมน์ที่ฉันต้องการนำเข้าไปยัง R:

ฉันสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อทำสิ่งนี้:

 #import CSV file
df <- read. csv (' my_data.csv ',
               colClasses=c(' character ', ' numeric ', ' numeric '))

#view class of each column in data frame
str(df)

'data.frame': 14 obs. of 3 variables:
 $ team: chr "Mavs" "Spurs" "Hornets" "Rockets" ...
 $ points: num 91 99 104 103 105 88 89 93 96 99 ...
 $rebounds: num 33 23 26 25 25 26 29 30 34 23 ...

โปรดทราบว่าจำนวนค่าในอาร์กิวเมนต์ colClasses จะต้องตรงกับจำนวนคอลัมน์ในกรอบข้อมูล

ตัวอย่างเช่น หากคุณระบุค่าเดียวสำหรับอาร์กิวเมนต์ colClasses แต่ละคอลัมน์ใน data frame จะมีคลาสเดียวกัน:

 #import CSV file
df <- read. csv (' my_data.csv ',
               colClasses=c(' character '))

#view class of each column in data frame
str(df)

'data.frame': 14 obs. of 3 variables:
 $ team: chr "Mavs" "Spurs" "Hornets" "Rockets" ...
 $ points: chr "91" "99" "104" "103" ...
 $rebounds: chr "33" "23" "26" "25" ...

โปรดทราบว่าแต่ละคอลัมน์ในกรอบข้อมูลผลลัพธ์จะมีคลาส “อักขระ” เนื่องจากเราระบุเพียงค่าเดียวให้กับอาร์กิวเมนต์ colClasses

โปรดทราบว่าคุณสามารถระบุคลาสที่เป็นไปได้ต่อไปนี้ในอาร์กิวเมนต์ colClasses :

  • ตัวละคร : “เฮ้”, “ที่นั่น”, “โลก”
  • ซับซ้อน : as.complex(-1), 4i
  • ตัวเลข : as.integer(20), 3L
  • จำนวนเต็ม : 4, 12, 158
  • ตรรกะ : จริง, เท็จ

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน R:

วิธีป้อนข้อมูลดิบด้วยตนเองใน R
วิธีนำเข้าไฟล์ CSV ลงใน R
วิธีนำเข้าไฟล์ Excel ลงใน R

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *