每次运行R程序时如何避免读取数据

时间:2014-02-12 09:26:04

标签: r

在我的R文件中,第一个任务是读取24个excel文件,每个文件有8个选项卡。这需要一段时间,因为必须完成通常的排序和列命名等。

现在最好的策略是什么才能在不读取文件的情况下继续工作?

我能想到的一个选择是保存工作空间并在每次进行分析工作时打开它,但还有其他可能更好的选择吗?

谢谢。

2 个答案:

答案 0 :(得分:4)

而不是保存所有工作空间,只保存您阅读过的data.frames。让我们让您从xls文件中读取一些data.frames,并将它们命名为data1data2data3。要保存它们,只需执行

即可
  

save(data1,data2,data3,file =“filename.Rdata”)

并加载它们执行

  

负载( “filename.Rdata”)

它会将data1data2data3添加到您的工作空间。

顺便说一下,它适用于R中的任何对象,包括列表,函数和任何你想要的东西,而不仅仅是data.frames。

答案 1 :(得分:0)

我同意之前的回答,这里有一个小技巧来扩展它以构建某种缓存,这在从在线资源中读取数据时特别有趣。

 # load data 
 if (file.exists("cache/my_data.RData") { 
 load("cache/my_data.RData")
 } else {
 # read.csv, do whatever pre-processing
 # connect to a remote db ...  
 save(my_object,file="cache/my_data.RData")
}

请注意,这也适用于函数或图形,如@Rufo所说。