วิธีนำเข้าไฟล์ csv ลงใน r (ทีละขั้นตอน)


สมมติว่าฉันมีไฟล์ CSV ชื่อ data.csv บันทึกอยู่ในตำแหน่งต่อไปนี้:

C:\Users\Bob\Desktop\data.csv

และสมมติว่าไฟล์ CSV มีข้อมูลต่อไปนี้:

 team, points, assists
'A', 78, 12
'B', 85, 20
'C', 93, 23
'D', 90, 8
'E', 91, 14

มีสามวิธีทั่วไปในการนำเข้าไฟล์ CSV นี้ไปยัง R:

1. ใช้ read.csv จากฐาน R (วิธีที่ช้าที่สุด แต่ทำงานได้ดีกับชุดข้อมูลขนาดเล็ก)

 data1 <- read.csv(" C:\\Users\\Bob\\Desktop\\data.csv ", header= TRUE , stringsAsFactors= FALSE )

2. ใช้ read_csv จากแพ็คเกจ readr (เร็วกว่า read.csv 2-3 เท่า)

 library (readr)

data2 <- read_csv(" C:\Users\Bob\Desktop\data.csv ")

3. ใช้แพ็คเกจ fread จาก data.table (เร็วกว่า read_csv 2-3 เท่า)

 library (data.table)

data3 <- fread(" C:\Users\Bob\Desktop\data.csv ")

บทช่วยสอนนี้แสดงตัวอย่างการใช้แต่ละวิธีในการนำเข้าไฟล์ CSV ลงใน R

วิธีที่ 1: การใช้ read.csv

หากไฟล์ CSV ของคุณมีขนาดเล็กพอสมควร คุณสามารถใช้ฟังก์ชัน read.csv ของ Base R เพื่อนำเข้าไฟล์ได้

เมื่อใช้วิธีการนี้ ต้องแน่ใจว่าได้ระบุ stringsAsFactors=FALSE เพื่อที่ R จะไม่แปลงตัวแปรตัวอักษรหรือหมวดหมู่เป็นปัจจัย

รหัสต่อไปนี้แสดงวิธีใช้ read.csv เพื่อนำเข้าไฟล์ CSV นี้ไปยัง R:

 #import data
data1 <- read.csv(" C:\\Users\\Bob\\Desktop\\data.csv ", header= TRUE , stringsAsFactors= FALSE )

#view structure of data
str(data1)

'data.frame': 5 obs. of 3 variables:
 $ team: chr "'A'" "'B'" "'C'" "'D'" ...
 $points: int 78 85 93 90 91
 $assists: int 12 20 23 8 14

วิธีที่ 2: การใช้ read_csv

หากคุณกำลังทำงานกับไฟล์ขนาดใหญ่ คุณสามารถใช้ฟังก์ชัน read_csv ของแพ็คเกจ readr ได้:

 library (readr)

#import data
data2 <- read_csv(" C:\Users\Bob\Desktop\data.csv ")

#view structure of data
str(data2)

'data.frame': 5 obs. of 3 variables:
 $ team: chr "'A'" "'B'" "'C'" "'D'" ...
 $points: int 78 85 93 90 91
 $assists: int 12 20 23 8 14

วิธีที่ 3: ใช้ฟีด

หาก CSV ของคุณมีขนาดใหญ่มาก วิธีที่รวดเร็วที่สุดในการนำเข้าไปยัง R คือการใช้ฟังก์ชัน fread ในแพ็คเกจ data.table:

 library (data.table)

#import data
data3 <- fread(" C:\Users\Bob\Desktop\data.csv ")

#view structure of data
str(data3)

Classes 'data.table' and 'data.frame': 5 obs. of 3 variables:
 $ team: chr "'A'" "'B'" "'C'" "'D'" ...
 $points: int 78 85 93 90 91
 $assists: int 12 20 23 8 14

โปรดทราบว่าในแต่ละตัวอย่าง เราใช้แบ็กสแลชคู่ (\\) ในพาธของไฟล์เพื่อหลีกเลี่ยงข้อผิดพลาดทั่วไปต่อไปนี้:

 Error: '\U' used without hex digits in character string starting ""C:\U"

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการนำเข้าไฟล์ประเภทอื่นลงใน R:

วิธีนำเข้าไฟล์ Excel ลงใน R
วิธีนำเข้าไฟล์ TSV ไปยัง R
วิธีนำเข้าไฟล์ Zip ลงใน R
วิธีนำเข้าไฟล์ SAS ไปยัง R
วิธีนำเข้าไฟล์ .dta ไปยัง R

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

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