2017-08-22 27 views
0

嗯,我很好奇一个问题,如果不是世界末日,这将是有帮助和省时的。分区R脚本和/或R会话(环境)

我研究了一下,但我找不到我真正想要的。此外, Running multiple R scripts/sessions 我检查了这个链接,但它再次没有帮助我很多。

这种情况是我有一个很大的数据集(我尝试使用的测试数据大约有6.5m行和50列,我在将数据集实现到R时也有困难,我现在使用60k行进行分析,统计模型(我试图了解数据如何被操纵并理解其行为,并希望我能够整合这些模型并操纵我对大数据集所做的所有事情,即使不是所有的6.5m行,1m都是对我来说,如果可以的话)

不管怎么说,另一个大问题是我的R环境,因为数据太庞大了,需要努力工作,代码脚本就像3500行,甚至不到15%工作问题是通过创建新的数据集,分配新模型,模型充分性检查和新模型,等等都会花费我在环境中的新东西,而我的环境就像750MB(R会话/配置文件)。如果我划分R脚本或环境,我希望可以减少环境内容(配置文件)的大小。

任何想法都会很棒。 Appriciated任何帮助。

编辑:创建一个干净的脚本,并启动一个干净的环境后,数据库实现发生没有错误。以防万一遇到像我这样的执行问题。不过,这并不是唯一确切的方法。

+1

“我的环境就像750mb”,这是相当小的。你的问题并不十分清楚,有点漫无目的。我建议你考虑构建一个包(这也会迫使你遵循功能性编程范例,这可能有助于解决混乱的全球环境)。 – Roland

+1

650万x 50并不是真的很大。如果这已经给你带来麻烦,我建议你去电子商店快速购买更多的内存。 – Roland

+0

我同意,我有单个阴谋对象的大小为多GB。在R中处理大数据时,您至少需要16GB RAM。 – LAP

回答

0

对于这个问题,我通常会编写产生特定工作区的脚本,然后保留包含所有脚本和保存工作区的路径的另一个脚本。

想象一下这个脚本:

## Dataset x 
# Run script to create dataset x 
source("pathtoscript.R") 

# Save dataset x environment 
save.image("pathtodatasetx.Rdata") 

# Load dataset x environment 
load("pathtodatasetx.Rdata") 

这样我可以快速运行和保存环境,如果我所做的任何更改,或者只是将其加载到我的当前会话。