วิธีส่งออก 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 ด้วยโปรแกรมอ่านข้อความ เช่น Notepad หน้าตาจะเป็นดังนี้:
ที่เกี่ยวข้อง: วิธีนำเข้าไฟล์ CSV ลงใน R