使用R脚本从命令行执行简单的绘图非常方便。但是,从bash脚本运行R是不方便的。理想可能是类似的
#!/path/to/R ...
要么
#!/usr/bin/env R ...
但我没有能够做这些工作。
另一个选择是保持脚本纯粹在R,例如。 script.R,并使用R – file = script.R或类似方法调用它。然而,偶尔,脚本将依赖于模糊的命令行开关,在该点处代码的一部分存在于脚本之外。示例:通过本地.Rprofile从bash中将东西转换成R,那么所需的开关就是–noilla,除了–no-init-file。
另一个选项是一个bash脚本来存储R标志并且无痛地执行,然后调用R脚本。问题是,这意味着单个程序只是被分成两个文件,现在必须保持同步,一起传输到新的机器等。
我目前最不喜欢的选择是嵌入R在一个bash脚本:
#!/bin/bash ... # usage message to catch bad input without invoking R ... # any bash pre-processing of input ... # etc R --random-flags <<RSCRIPT # R code goes here RSCRIPT
一切都在一个单一的文件。它是可执行的,并且容易处理参数。问题是,bash和R这样的组合几乎消除了任何IDE不会失败的可能性在一个或另一个,并使我的心伤害真正的坏。
有没有一些更好的方式,我错过了?