2011-12-01 444 views

回答

130

有几种方法。一种方法是使用save()来保存确切的对象。例如数据帧foo

load("data.Rda") 

你也使用write.table()或类似的东西保存表以纯文本,或dput(),以获得R个代码重现:

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

然后加载它表。

+0

还有'dump'和创建的文件将会是'source()'-ed,尽管'help(dump)'页面上的'save'是'更安全的'。 –

+2

我总是喜欢采用明文存储数据,所以我更喜欢'转储()''上保存()'和'write.table()''以上转储()' –

+0

我是纠正write.table韩元不会保存像设置0和1这样的列作为因子的事情,但是'save()'/'load()'会?如果是这样,那也是要考虑的事情。我通常有一部分处理一些.csv文件,一旦我把它们放到我喜欢它们的地方,我更愿意保存它们,所以我不必每次重新访问我的项目时都要重新运行该代码。因此,保留工作/调整结构是很重要的考虑因素。 – Hendy

61

如果您只保存单个对象(您的数据框),您也可以使用saveRDS
为了节省:

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

然后用阅读:

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

saveRDSsave之间的区别在于,前者只有一个对象可以保存和对象的名称不强制在加载它之后是相同的。