2

我有 .m 文件,我想使用它来运行 R 脚本。我怎样才能做到这一点。

MATLAB文件

caller.m

%some matlab code

% need to call a R script

%some matlab code

R 脚本

script.R 

some R code

我将这两个文件放在同一个文件夹中。

如何从 caller.m 运行 script.R?


Drew Steen 的回答总体上是正确的,因为我在网络上的大多数地方都发现了这一点。但是什么对我有用,我在下面描述:

脚步:

  1. 将“C:\Program Files\R\R-2.15.3\bin\x64”附加到“path”变量。此链接提供了在 windows 7 操作系统中设置路径的过程。请注意 bin\x64 而不是 bin,bin 对我不起作用。

  2. 重启matlab。

  3. 使用 exec=system('Rscript.exe script.R') ,其中当前 script.R 位于 matlab 的当前目录中。

4

1 回答 1

2

您可以使用systemMATLAB 中的函数来执行 shell 命令。由于您可以从批处理文件运行 R,

executed = system('R CMD BATCH path/script.R')

应该管用。请注意,path无论您在 MATLAB 中的活动目录是什么,它都必须是您的 R 脚本的正确相对路径。executed如果系统命令成功执行(这与 R 脚本成功执行不同),则评估为 0。

于 2013-09-24T13:14:25.727 回答