ฉันสร้าง data.frame ใน R ที่ไม่ใหญ่มาก แต่ใช้เวลาค่อนข้างนานในการสร้าง ฉันต้องการบันทึกเป็นไฟล์ซึ่งสามารถเปิดได้มากกว่าใน R อีกครั้ง?
ฉันสร้าง data.frame ใน R ที่ไม่ใหญ่มาก แต่ใช้เวลาค่อนข้างนานในการสร้าง ฉันต้องการบันทึกเป็นไฟล์ซึ่งสามารถเปิดได้มากกว่าใน R อีกครั้ง?
คำตอบ:
มีหลายวิธี วิธีหนึ่งคือการใช้save()
เพื่อบันทึกวัตถุที่แน่นอน เช่นสำหรับ data frame foo
:
save(foo,file="data.Rda")
จากนั้นโหลดด้วย:
load("data.Rda")
คุณสามารถใช้write.table()
หรืออะไรทำนองนั้นเพื่อบันทึกตารางเป็นข้อความธรรมดาหรือdput()
รับรหัส R เพื่อสร้างตาราง
dump()
มากกว่าsave()
และwrite.table()
มากกว่าdump()
save()
/ load()
จะ? ถ้าเป็นเช่นนั้นก็เป็นสิ่งที่ต้องคำนึงถึงเช่นกัน ฉันมักจะมีส่วนของการประมวลผลไฟล์. csv บางส่วนและเมื่อฉันได้ไฟล์เหล่านั้นในตำแหน่งที่ฉันชอบฉันชอบที่จะบันทึกไว้ดังนั้นฉันจึงไม่จำเป็นต้องเรียกใช้รหัสนั้นซ้ำทุกครั้งที่ฉันเยี่ยมชมโครงการของฉันอีกครั้ง ดังนั้นการรักษางาน / ปรับแต่งโครงสร้างนั้นเป็นสิ่งสำคัญที่ต้องพิจารณา
dump()
ยังช่วยประหยัดโครงสร้าง สิ่งที่ดีเกี่ยวกับwrite.table
มันคือการเขียนตารางในหลาย ๆ ทางที่ซอฟต์แวร์สามารถนำเข้า
saveRDS
การบันทึก dataframe ที่ไม่มีชื่อ (dhendrickson มีคำตอบสำหรับสิ่งนั้น)
หากคุณเป็นเพียงการประหยัดวัตถุเดียว (กรอบข้อมูลของคุณ) saveRDS
คุณยังสามารถใช้
เพื่อบันทึก:
saveRDS(foo, file="data.Rda")
จากนั้นอ่านด้วย:
bar <- readRDS(file="data.Rda")
ความแตกต่างระหว่างsaveRDS
และsave
คือในอดีตวัตถุเดียวเท่านั้นที่สามารถบันทึกและชื่อของวัตถุจะไม่ถูกบังคับให้เหมือนกันหลังจากที่คุณโหลด
ให้เราบอกว่าคุณมีกรอบข้อมูลที่คุณสร้างขึ้นและตั้งชื่อว่า "Data_output" คุณสามารถส่งออกไปยังไดเรกทอรีเดียวกันโดยใช้ไวยากรณ์ต่อไปนี้
write.csv (Data_output, "output.csv", row.names = F, อัญประกาศ = F)
dump
และไฟล์ที่สร้างขึ้นจะเป็นsource()
-ed แม้ว่าhelp(dump)
หน้าระบุว่าsave
"ปลอดภัย"