使用批处理文件运行多行R脚本时如何节省工作空间

时间:2019-01-08 09:38:57

标签: r batch-file

我试图在批处理文件中运行多个R语句以读取csv并按如下所示训练模型

"D:\Program Files\R\R-3.4.2\bin\x64\Rscript" -e "library(C50)" --save
"D:\Program Files\R\R-3.4.2\bin\x64\Rscript" -e "load('E:/ALGO/batch/.Rdata')"
"D:\Program Files\R\R-3.4.2\bin\x64\Rscript" -e "C50Training<-read.csv(file='E:/algo/dataset/C50Training.csv',header=TRUE)" --save
"D:\Program Files\R\R-3.4.2\bin\x64\Rscript" -e "load('E:/ALGO/batch/.Rdata')"
"D:\Program Files\R\R-3.4.2\bin\x64\Rscript" -e  "capture.output(summary(C50Training), file = 'E:/ALGO/summary/C50TrainingSum.txt')" --save
"D:\Program Files\R\R-3.4.2\bin\x64\Rscript" -e "load('E:/ALGO/batch/.Rdata')"
"D:\Program Files\R\R-3.4.2\bin\x64\Rscript" -e "C50fit<-C5.0(formula=AAA~AAB+AAC+AAD+AAE+AAF,data=C50Training)" --save
"D:\Program Files\R\R-3.4.2\bin\x64\Rscript" -e "load('E:/ALGO/batch/.Rdata')"
"D:\Program Files\R\R-3.4.2\bin\x64\Rscript" -e "capture.output(summary(C50fit),file='E:/ALGO/summary/SummC50fit.txt')" --save

但是它不能工作,因为即使我为每行添加了--save并加载了.Rdata,但通过遍历每个批处理行R并没有节省其工作空间。当我将所有R语句包含到一个批处理行中时,它确实起作用了,如下所示用分号分隔。

"D:\Program Files\R\R-3.4.2\bin\x64\Rscript" -e "library(C50);C50Training<-read.csv(file='E:/algo/dataset/C50Training.csv',header=TRUE);C50fit<-C5.0(formula=AAA~AAB+AAC+AAD+AAE+AAF,data=C50Training);capture.output(summary(C50fit),file='E:/ALGO/summary/SummC50fit.txt');" 

有没有一种方法可以用一个批处理行运行每个R语句?

非常感谢

1 个答案:

答案 0 :(得分:0)

我认为您要做的是创建一个单个R文件,其中包含您要运行的所有内容,并使用以下命令对其进行调用:

source("path/to/your/file.R")

通过这种方式,您创建的文件将被调用并执行