让你的脚本一键运行
感谢关注天善智能,走好数据之路↑↑↑
欢迎关注天善智能,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习,问答、求职一站式搞定!
你平时都是怎么运行你的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.txtpause
如果bat文件是这样写的,那就要求我们的脚本程序必须和bat文件在同一个文件夹里面,否则就会报错。如果不在一个文件夹的话,那也没关系,咱们继续往下看。
(2)当脚本与bat文件在同一个文件夹
"D:\ProgramFiles\R\R-3.3.2\bin\R.exe"CMDBATCHtext.Rtext.txtpause
其中"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.Rpause
使用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文件执行成果,脚本写的简单,就为证明这是一个可行的方法。
使用R.exe
因此大家可以根据自己的需要来指定一个软件去运行自己的脚本。
—————————
转载请保留以下内容:
本文作者:天善智能社区 王亨
原文链接:https://ask.hellobi.com/blog/learn_R/9150
天善学院svip正火爆报名中!包含Excel BI、Python3爬虫案例、Python机器学习、Python数据科学家、大数据体系、数据分析报告、数据分析师体系、深度学习、R语言案例共10套课程,其他课程只需五折即可,欢迎大家关注报名!详情可见:https://www.hellobi.com/svip