【发布时间】:2011-02-23 17:46:22
【问题描述】:
背景
我正在编写一个 R 包来支持可重复的研究。在这一点上,工作流主要由 bash 脚本组成,我可以通过发送像 ./runscript.sh 这样的单个命令来运行分析。我将 bash 用于以下用途:
- 文件操作
tar、rsync、'重命名' - 在本地和通过
ssh运行 bash 文件 - 使用
R --vanilla运行 R 脚本,然后调用 R 函数 - 使用
sed在文件中查找和替换文本 - 通过
qsub提交工作
在我看来,从 R 函数或 R 脚本执行整个工作流程会更有效率(更简洁、更容易)。我偏爱 R,因为我更熟悉它并且主要在 emacs ESS 中工作。
问题
-
使用
system和files函数在R 中封装所有这些bash 用途是否值得? -
是否还有其他我尚未发现的 R 包可以对此有所帮助?
注意事项
按照 Al3xa 的回答,我意识到重要的是要注意使用例如速度损失。 1000-2000 个文件上的 tar 和 gsub 的 R 与 bash 版本可能会少于工作流中当前的速率限制步骤:JAGS(~10-20 分钟)和 FORTRAN(>4 小时)的计算
【问题讨论】: