我有.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的回答一般都是正确的,因为我在网上的大部分地方都发现了这一点。 但是对我来说有用,我在下面描述:
步骤:
将“C:\ Program Files \ R \ R-2.15.3 \ bin \ x64”追加到“path”变量。 这个link提供了在windows 7 os中设置路径的过程。 请注意bin \ x64而不是bin,bin对我没用。
重启Matlab。
使用exec = system('Rscript.exe script.R'),其中当前script.R位于matlab的当前目录中。
答案 0 :(得分:2)
您可以使用MATLAB中的system
函数来执行shell命令。由于您可以从批处理文件中运行R,
executed = system('R CMD BATCH path/script.R')
应该有效。请注意,path
将需要是来自MATLAB中的任何活动目录的R脚本的正确相对路径。如果系统命令成功执行,则executed
将评估为0(这与R脚本执行成功不同)。