一键运行R脚本

你平时都是怎么运行你的R脚本的呢?是打开R还是打开Rstudio再运行你的R脚本的呢?你不觉得这样很麻烦吗?今天就给你教一招,简单方便,也不用修改环境变量,让你的脚本像启动程序一样,点一下就自动执行了。

首先我们新建一个记事本,写入下面代码。写完之后保存,将记事本的后缀.txt改成.bat保存。

一. 使用R.exe程序运行你的脚本


(1)当脚本与bat文件不在同一个文件夹

"D:\Program Files\R\R-3.3.2\bin\R.exe" CMD BATCH "C:\Users\henry wang\Desktop\text.R" text.txt
pause

如果bat文件是这样写的,那就要求我们的脚本程序必须和bat文件在同一个文件夹里面,否则就会报错。如果不在一个文件夹的话,那也没关系,咱们继续往下看。

(2)当脚本与bat文件在同一个文件夹

"D:\Program Files\R\R-3.3.2\bin\R.exe" CMD BATCH text.R text.txt
pause

其中"D:\Program Files\R\R-3.3.2\bin\R.exe"R.exe的目录,后面再加上CMD BATCH,最后"C:\Users\henry wang\Desktop\text.R"为我们要执行的程序,我的脚本文件在桌面上放着。如果我们的.bat文件和脚本程序在一个文件夹时,这里可以直接写成text.R,不用写文件目录。

其实text.txt是可写可不写,如果不写的话,默认会生成一个 程序名.Rout 的文件,里面保存的是程序代码,不过最后会调用proc.time()函数。这种文件可以用谷歌浏览器,其他浏览器我没有试,具体就不知道了,notepad++也是可以打开的。当然你也可以像我一样设置生成text.txt。除此之外,它也会生成一个.Rdata文件,保存的是程序运行中变量的值,如果想要查看的话可以在Rstudio中使用load()函数载入查看。

bat文件的最后一行代码pause也是可写可不写的,如果写的话,运行完之后那个黑框框不会自动关闭,如果不写的话,运行完之后自动关闭。写上有什么好处,如果有错误的话就会显示,不写的话就算有错误,显示一下立马关了,啥也看不到,因此写上还是比较好的。


二. 使用Rscript程序运行你的脚本


(1)当脚本与bat文件不在同一个文件夹

"D:\Program Files\R\R-3.3.2\bin\x64\Rscript.exe" "C:\Users\henry wang\Desktop\text.R"
pause

(2)当脚本与bat文件在同一个文件夹

"D:\Program Files\R\R-3.3.2\bin\x64\Rscript.exe" text.R
pause

使用Rscript.exe时,bat文件里面不用写CMD BATCH。

首先"D:\Program Files\R\R-3.3.2\bin\x64\Rscript.exe"指的就是Rscript.exe程序,然后"C:\Users\henry wang\Desktop\text.R"指的就是我们脚本text.R。如果我们的.bat文件和脚本程序在一个文件夹时,这里可以直接写成text.R,不用写文件目录。它俩中间有一个空格。

这运行完之后,如果有绘图的画,他就会把图片保存在一个PDF文档中,然后没有其他文件生成。


现在我们对这两个简单的进行一个比较。

  • 在使用Rscript.exe软件在运行之后会把图片结果打印在一个PDF文件中,然后没有其他文件生成。

  • 在使用R.exe软件,它会把中间变量的值保存在一个.Rdata文件中,程序默认会保存在一个.Rout文件中,你也可以指定为其他文件类型,比如我开始设置保存在一个txt文件中。

给大家演示一下我的bat文件执行成果,脚本写的简单,就为证明这是一个可行的方法。


注:

转载请注明原文链接:http://blog.csdn.net/wzgl__wh

个人微信公众号:跟着菜鸟一起学R语言(learn_R)

猜你喜欢

转载自blog.csdn.net/wzgl__wh/article/details/77099903