r语言 - 从 matlab 运行两个命令行指令



我想从 matlab 运行一个 R 脚本。

我可以使用以下命令从cmd完美运行R代码:

cd "C:Program FilesRR-3.1.3binx64"
R CMD BATCH "C:UsersnameDesktopCode.R"

但是在 Matlab 中,我不确定如何运行这两个指令。首先,我注意到我可以使用:

system('cd "C:Program FilesRR-3.1.3binx64"')

以运行通信行命令。但是我需要运行两个。并制作:

system('cd "C:Program FilesRR-3.1.3binx64"')
system('R CMD BATCH "C:UsersnameDesktopCode.R"')

不起作用。

我还看到了这篇关于在一行中运行多个命令行指令的文章,但这也没有用。

有人知道该怎么做吗?

你的脚本通常不应该关心它的执行位置。所以你根本不需要cd语句:

system('"C:Program FilesRR-3.1.3binx64R.exe" CMD BATCH "C:UsersnameDesktopCode.R"')

请注意,R 路径可能并不总是相同的......以编程方式查找 R 的位置可能更安全。虽然如何在Windows上的Matlab中做到这一点,但我不知道。

此外,老实说,我真的不知道为什么R CMD BATCH存在,但我强烈建议改用RScript。由于多种原因,它的效果要好得多。

然后,代码变为:

system('"C:Program FilesRR-3.1.3binx64Rscript.exe" "C:UsersnameDesktopCode.R"')

尝试使用 dos 命令而不是 system

最新更新