如何以文本或任何其他格式足够快地保存大输出?

时间:2016-04-25 11:32:36

标签: r

我的问题是:如何保存输出,即mydata

 mydata=array(sample(100),dim=c(2,100,4000))

合理快?

我按照建议here使用了reshape2包。

 melt(mydata)

 write.table(mydata,file="data_1")

但将数据保存到文件中需要一个多小时。我正在寻找任何其他更快的方法来完成这项工作。

2 个答案:

答案 0 :(得分:2)

使用?saveRDS阅读saveRDS的帮助文本。这可能是您保存和加载大型数据帧的最佳方式。

saveRDS(yourdata, file = "yourdata.Rda")

答案 1 :(得分:2)

我强烈建议您参考此great post,这肯定有助于明确节省文件的问题。

无论如何,saveRDS可能是最适合你的。在这种情况下,更相关的差异是save可以在一次调用中将多个对象保存到文件中,而saveRDS是一个较低级别的函数,一次只能处理一个对象

saveload允许您将命名的R对象保存到文件或其他连接,并再次恢复该对象。但是,加载后,命名对象将恢复到当前环境,其名称与保存时的名称相同。

相反,

saveRDSloadRDS允许将单个R对象保存到连接(通常是文件)并恢复对象,可能使用不同的名称。低级别的可操作性使RDS函数可能更有效,可能适用于您的情况。