在很多情况下,我们需要在外部环境中直接调用软件来执行某个脚本,而不需要进入软件的交互界面,这样被称为非交互方式,通过这种方式可以方便快捷地执行脚本语句达到输出结果的目的。r软件也不例外,外部调用有很多方法,其中一种被称为 Batch Processing的方法,可以通过windows或者linux中的CMD运行脚本然后将结果传送输出到另一个out文件。下面举例说明。
首先到系统高级设置中配置r为环境变量
path=D:\R-3.3.0\bin;
在path中添加r.exe文件所在目录
然后通过cmd调用脚本语句,两个平台的格式分别为:
# on Linux
RCMD BATCH [options] my_.R [outfile]
# on Microsoft Windows (adjust the path to R.exe as needed)
"C:\Program Files\R\R-2.13.1\bin\R.exe" CMD BATCH
--vanilla --slave "c:\my projects\my_.R"
在windows中打开命令行界面
输入命令
"C:\Program Files\R\R-2.13.1\bin\R.exe" CMD BATCH
--vanilla --slave "c:\my projects\my_.R"
其中"C:\Program Files\R\R-2.13.1\bin\R.exe"为r的软件目录
"c:\my projects\my_.R"为执行文件的目录
运行后,cmd会将输出结果传输到文件目录的out文件中
值得注意的是,out文件中会记录下console中所有出现的输出数据
同时会记录下文件执行时间
对比rstudio界面中的输出语句
相对于r交互中的输出,值得注意的几点:
1.输出看起来就像R是交互式地运行的。
2.输出结果中的参数多了一些。
3.最后有一个运行总结,显示运行脚本花费的时间。
另外一方面,当脚本无法正常执行时,同样会输出out报告错误原因
因此对于网站的日常运营来说,用这种方式不仅方便快捷,并且可以记录下过程输出和运行总结,可以作为log日志报告文件来使用。