วิธีส่งออก data frame ไปยังไฟล์ csv ใน r (พร้อมตัวอย่าง)


สมมติว่าเรามี data frame ต่อไปนี้ใน R:

 #create data frame
df <- data.frame(team=c('A', 'B', 'C', 'D', 'E'),
                 points=c(78, 85, 93, 90, 91),
                 assists=c(12, 20, 23, 8, 14))

#view data frame
df

  team points assists
1 A 78 12
2 B 85 20
3 C 93 23
4 D 90 8
5 E 91 14

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

1. ใช้ write.csv จากฐาน R

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

เมื่อใช้วิธีการนี้ อย่าลืมระบุ row.names=FALSE หากคุณไม่ต้องการให้ R ส่งออกชื่อแถวเป็นไฟล์ CSV

 write.csv(df, " C:\\Users\\Bob\\Desktop\\data.csv ", row.names= FALSE )

2. ใช้ write_csv จากแพ็คเกจ Reader

วิธีที่รวดเร็วยิ่งขึ้นในการส่งออกเฟรมข้อมูลเป็นไฟล์ CSV คือการใช้ฟังก์ชัน write_csv ของแพ็คเกจตัวอ่าน เร็วกว่า write.csv ประมาณ 2 เท่า และไม่เคยเขียนชื่อแถวของเฟรมข้อมูลลงในไฟล์ CSV

 library (readr)

write_csv(df, " C:\Users\Bob\Desktop\data.csv ")

3. ใช้ fwrite จากแพ็คเกจ data.table

อย่างไรก็ตาม วิธีที่เร็วกว่า (และวิธีที่แนะนำสำหรับชุดข้อมูลขนาดใหญ่) ในการส่งออก dataframe ไปยังไฟล์ CSV คือการใช้ฟังก์ชัน fwrite จากแพ็คเกจ data.table ฟังก์ชันนี้เร็วกว่าเมธอด write_csv ประมาณ 2 เท่า

 library (data.table)

fwrite(df, " C:\Users\Bob\Desktop\data.csv ")

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

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

ผลลัพธ์

แต่ละวิธีจากทั้งสามวิธีข้างต้นจะสร้างไฟล์ CSV ที่เหมือนกัน หากคุณเปิดไฟล์นี้ด้วย Excel จะเป็นดังนี้:

ส่งออกกรอบข้อมูลเป็นไฟล์ CSV ใน R

และหากเราเปิดไฟล์ CSV ด้วยโปรแกรมอ่านข้อความ เช่น Notepad หน้าตาจะเป็นดังนี้:

ส่งออกกรอบข้อมูลเป็นรูปแบบ CSV ใน R

ที่เกี่ยวข้อง: วิธีนำเข้าไฟล์ CSV ลงใน R

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

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