
使用Rscript命令而不是R CMD BATCH以该语言执行命令行命令
可以在Windows下从命令行调用R脚本,并且可以使用R CMD BATCH文件命令. 这样,您可以用其他语言(java,perl,php)执行此命令来调用R脚本.
但是r语言输入命令后按回车,在Linux下,由于BATCH命令的权限问题,将导致非root用户权限调用此命令. 请改用Rscriptfile. (似乎Rscript无法在Windows下使用,因为MS的CMD不支持它. )
================================================ ==== ============================================== =
昨天再次查看了文档并进行了尝试,发现命令行指令可以以以下两种形式使用:

1.R [--option] [-e expr]输出文件[args]
2.Rscript [--options] [-e expr]文件[args]
首先看1.
a. [--option]代表R命令的选项,有很多特定的选项,可以参考相关文档,包括'--save','-no-save'或'--vanilla'填充. 这意味着[--option]不能为空. 还建议使用--slave选项,该选项允许R命令在安静模式下工作,否则,R脚本中的所有内容都将打印在命令行上.
b. [-e expr]我不明白这一点,没有使用这部分.

c. <不能省略.
d. > outfile输出文件与上面的相同.
e. args要传递给R脚本的参数. 您可以使用commandArgs()函数在脚本中读取这些参数.
f. 除了args,以前的部分似乎可以颠倒. 但是args参数必须放在最后,否则会报告错误
g [args]可以直接用您要传递的参数替换,也可以先用--args指定,例如--argsXXX,这两种方法都可以成功地将参数传递给脚本,它们的参数可以是commandArgs()获得功能. 但是不同之处在于,如果要使用commandArgs(TRUE)过滤出适当的参数,则必须使用--args XXX

继续2.
Rscript实际上是命令行上R脚本应用程序的前端
在Rscript [--options] [-e expr]文件[args]中:
a. 不需要[--options] [-e expr].
b. 文件不需要在其前面添加“ <”. 这与R命令不同. Rscript将自动使用第一个单个字符串(不包含-<>这样的字符)作为输入脚本文件名.

c. 如果要指定输出,可以使用> outfile. 这与R命令相同.
d. 同样,[args]必须在末尾. 但是commandArgs(TRUE)无法过滤出合适的参数. 也就是说,如果要使用commandArgs(TRUE),则仅使用R命令.
PS: commandArgs(TRUE)和commandArgs()之间的区别是:
对于命令R --vanilla --slave
前者获得的参数是“ ss”
后者获得的参数为“ / path / to / R”“-香草”“-从属”“ --args”“ ss”
R CMD BATCH文件的格式为R CMD命令文件. 这里的命令是另一个工具r语言输入命令后按回车,例如BATCH(批处理工具). R使用此命令来使用其他工具来处理R脚本. 因此,此方法可能涉及Linux下其他工具的许可.
发件人:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-246320-1.html
下次美军舰如果再来我想中国军舰肯定会用登陆舰撞击