我有一个需要重复运行的R脚本。 (具体来说,我说的是500-1000个独立的计算密集型MCMC链,我想在最后的几个关键图中总结一下。)我的学校有一个可用的服务器,它使用排队系统使这些计算变得可行。现在我将多个作业提交到“短”队列,因为它比“多核”或“长”作业队列的负担更少。我一直通过多次调用R脚本来运行它,所以我通过追加将每个10个链的50个作业提交并保存到单个输出文件中。这是我的职位提交代码:
for ARRAYVAR in `seq 1 1 50`
do
bsub -q short -u me@school.edu R CMD BATCH "CODE.R --args arg1 = $ARRAYVAR"
done
ARRAYVAR仅用于设置随机数种子。完成所有作业后,将在单独的脚本中完成绘图。
对于家庭作业和之前的研究,我使用knitr和Rstudio将LaTeX笔记与我的R代码结合起来。最终结果是单个.Rnw,它生成包含所有注释,代码和结果的可重现文档。我更喜欢这种方法,因为我始终可以确定图表/结果与我前面看到的代码版本相对应。是否可以在此处执行类似操作,以便有一个文件可以重新运行以重现我的发现?我不熟悉使用集群和R而没有Rstudio。