我用R编程的时间不长,但我遇到了一个项目组织问题,我希望有人可以给我一些提示。我发现我做的很多分析都是临时的:也就是说,我运行一些东西,考虑结果,调整它并运行更多。这在概念上不同于像C ++这样的语言,在这种语言中,您可以考虑在编码之前要运行的整个事物。这是解释语言的巨大好处。但是,出现的问题是我最终拥有了很多我保存的.RData文件,因此每次都不需要source
我的脚本。有没有人对如何组织我的项目有任何好的想法,所以我可以在一个月后回到它并且很清楚每个文件的相关内容?
我猜这是一个文档问题。我是否应该记录每一条腿的整个项目,并积极清理不再需要但是研究副产品的文件?这是我目前的系统,但有点麻烦。还有其他人有其他建议吗?
根据下面的评论:我试图避免的一个关键事项是.R分析文件和.RData集合随之而来的扩散。
答案 0 :(得分:2)
关于研究项目组织的一些想法:
http://software-carpentry.org/4_0/data/mgmt/
带回家的消息是:
答案 1 :(得分:2)
我的分析是knitr
文档,其中包含一些从中调用的外部.R文件。
所有数据都在数据库中,但在我的分析过程中,处理后的数据保存为.RData文件。只有当我删除RData时,再次运行分析时才会从数据库中重新创建它们。有点像缓存,当我重新运行(部分)我的分析时,可以节省数据库访问和数据处理时间。
使用knitr
(Sweave
等)文档进行分析,您可以轻松编写包含结果的文档化工作流程。 knitr缓存了分析的结果,因此小的更改通常不会导致所有R代码的完全重新运行,而只会导致一小部分。节省相当多的运行时间以进行更大的分析。
(啊,如前所述:使用版本控制。另一个提示:使用编织器和版本控制使用RStudio非常容易。)