我想从matlab运行R脚本。
我可以使用以下命令从cmd完美运行R代码:
cd "C:\Program Files\R\R-3.1.3\bin\x64"
R CMD BATCH "C:\Users\name\Desktop\Code.R"
然而在Matlab中我不知道如何运行这两条指令。 首先,我注意到我可以使用:
system('cd "C:\Program Files\R\R-3.1.3\bin\x64"')
运行commnand line命令。但是我需要运行两个。制作:
system('cd "C:\Program Files\R\R-3.1.3\bin\x64"')
system('R CMD BATCH "C:\Users\name\Desktop\Code.R"')
不起作用。
我还看到this post关于在一行中运行多个命令行指令,但也没有用。
任何人都知道怎么做?
答案 0 :(得分:2)
您的脚本通常不应关心它的执行位置。所以你根本不需要cd
语句:
system('"C:\Program Files\R\R-3.1.3\bin\x64\R.exe" CMD BATCH "C:\Users\name\Desktop\Code.R"')
小心认为R路径可能并不总是相同的......以编程方式找到R的位置可能更安全。虽然如何在Windows上的Matlab中做到这一点,我不知道。
此外,我真的不知道为什么R CMD BATCH
甚至存在,但我强烈建议使用RScript
。 It works much nicer for a number of reasons
然后代码变为:
system('"C:\Program Files\R\R-3.1.3\bin\x64\Rscript.exe" "C:\Users\name\Desktop\Code.R"')
答案 1 :(得分:-3)
尝试使用dos
命令代替system
。