你平时都是怎么运行你的R脚本的呢?是打开R还是打开Rstudio再运行你的R脚本的呢?你不觉得这样很麻烦吗?今天就给你教一招,简单方便,也不用修改环境变量,让你的脚本像启动程序一样,点一下就自动执行了。
首先我们新建一个记事本,写入下面代码。写完之后保存,将记事本的后缀
.txt
改成
.bat
保存。
(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
也是可写可不写的,如果写的话,运行完之后那个黑框框不会自动关闭,如果不写的话,运行完之后自动关闭。写上有什么好处,如果有错误的话就会显示,不写的话就算有错误,显示一下立马关了,啥也看不到,因此写上还是比较好的。
(1)当脚本与bat文件不在同一个文件夹
"D:\Program Files\R\R-3.3.2\bin\x64\Rscript.exe" "C:\Users\henry wang\Desktop\text.R"
pause