背景
我正在编写一个支持可重复性研究的R包。目前,工作流程主要由bash脚本支持,我可以通过发送单个命令如./runscript.sh
来运行分析。我使用bash进行以下操作:
- 文件操作
tar
,rsync
,'rename' - 本地和通过
ssh
运行bash文件 - 使用
R --vanilla
运行调用R函数的R脚本 - 使用
sed
在文件中查找和替换文本 - 通过
qsub
提交作业
我认为,使用R函数或R脚本从头到尾执行整个工作流程会更加高效(更清晰、更容易)。我更喜欢R,因为我更熟悉它,并且主要在emacs ESS中工作。
问题
是否值得使用
system
和files
函数将所有这些bash使用封装在R中?是否有其他我尚未发现但对此很有帮助的R包?
注释
根据Al3xa的答案,我意识到需要注意的重要一点是,在1000-2000个文件上使用R版本的tar和gsub与bash版本相比的速度惩罚可能会小于工作流程中当前的限制步骤:JAGS的计算(约10-20分钟)和FORTRAN(>4小时)。
tar
和gsub
会带来什么速度惩罚(虽然我可以测试),但目前工作流程中限制速率的因素是JAGS计算(约10-20分钟)和FORTRAN计算(> 4小时)。 - David LeBauer