需要Rstudio,make和git的项目设置建议

时间:2012-11-28 03:56:19

标签: git r makefile project

我正在从手动转为自动化流程,需要帮助。

我有一个带有csv数据文件的目录,这些文件可以提供一组R例程进行分析。该目录以创建日期命名,但不是目录中的所有文件都已更新

目录(例如,数据2012-11-26)总是有七个要素:

BW_Weekly.csv
BW_Monthly.csv
BW_Yearly.csv
CLR_Weekly.csv
CLR_Monthly.csv
CLR_Yearly.csv
Special_Weekly.csv

其他约束 - 我有时必须回到之前的日期目录来分析旧的集合。 “每周”文件每周更新一次,“每月”和“每年”文件每月更新一次。

我今天的工作流程是:每周一通过电子邮件接收每周文件,下个月第一个星期一收到月/年文件(即下周一,我将收到月/年文件中的11月更新。具有星期一日期的新目录。将当前每月/每年文件复制到该目录。将每周文件从电子邮件保存到该新目录。使用新目录名称更新R分析文件中的变量名称。运行(源)分析,情节结果。非常手册。

我试图找出如何使用git(也许是一个或两个makefile规则)在更自动化的过程中执行此操作。 - 你有所了解的建议 -

我有点混乱的想法是使用git在文件到达时提交/标记文件。然后使用makefile规则1)检出最新的数据文件2)运行/绘制结果为pdf 3)查看pdf进行分析。加上我可以一遍又一遍地停止编辑文件......

这将允许一些事情:

git checkout data2012-11-26 (or whatever Monday date I want)
build all (in RStudio Build Tab ideally)

文件很大 - 每个csv文件大约15-20MB。 git可以处理吗? 并且有人可以帮助制定可以完成这项工作的制定规则(除了最低限度的makefile规则之外我还不擅长)...甚至可以进行结账吗?

开放使用新的文件命名约定 - 如果您认为这会有所帮助。

1 个答案:

答案 0 :(得分:1)

我确实会建议为此做好准备。我做了一些非常相似的事情,并且已经尝试了使分析具有可重复性,模块化和自动化的最佳方法。我最近发布了this给github(因此我在搜索时找到了这篇文章)。这里没有硬性和快速的答案,但这里有一些想法。

  • 使您的分析模块化。我有单独的R文件来获取数据,然后清理,然后处理,然后生成报告元素,然后生成报告。
  • 让所有脚本访问一个标准数据集,然后您可以将它们推送到git并将git保留到版本控制,而不必更新不同数据集的脚本
  • 为分析创建一个makefile,指定每个步骤的输出及其执行方式,然后make将检查所有依赖项

然后你可以覆盖任何新的数据文件,只需运行make来更新所有内容。运行旧分析很简单,就像检查该分支并再次运行分析一样。