2011-12-01 59 views

Trả lời

130

Có một số cách. Một cách là sử dụng save() để lưu đối tượng chính xác. ví dụ. cho khung dữ liệu foo:

save(foo,file="data.Rda") 

Sau đó tải nó với:

load("data.Rda") 

Bạn cũng có thể sử dụng write.table() hoặc một cái gì đó như thế để lưu bảng trong văn bản đơn giản, hoặc dput() để có được mã R để tạo lại bàn.

+0

Cũng có 'dump' và các tệp được tạo sẽ là' source() '-ed, mặc dù trang' help (dump) 'nói' save' là "an toàn hơn". –

+2

Tôi luôn thích lưu trữ dữ liệu ở dạng văn bản thuần túy, vì vậy tôi muốn 'dump()' hơn 'save()', và 'write.table()' trên 'dump()' –

+0

Tôi có đúng là write.table won không 't bảo tồn những thứ như đã thiết lập một cột của 0 và 1 là một yếu tố, nhưng 'save()'/'load()' sẽ? Nếu vậy, đó là một cái gì đó để đưa vào tài khoản là tốt. Tôi thường có một phần xử lý một số tệp .csv và khi tôi nhận được chúng ở nơi tôi thích, tôi muốn lưu chúng vì vậy tôi không phải chạy lại mã đó mỗi lần tôi truy cập lại dự án của mình. Vì vậy, việc bảo quản công việc/tinh chỉnh đó cho cấu trúc là điều quan trọng cần xem xét. – Hendy

61

Nếu bạn chỉ lưu một đối tượng duy nhất (khung dữ liệu), bạn cũng có thể sử dụng saveRDS.
Để tiết kiệm:

saveRDS(foo, file="data.Rda") 

Sau đó đọc nó với:

bar <- readRDS(file="data.Rda") 

Sự khác biệt giữa saveRDSsave là trong cựu chỉ có một đối tượng có thể được lưu và tên của đối tượng không bắt buộc để được như vậy sau khi bạn tải nó.

Các vấn đề liên quan