Как запустить скрипт R из Matlab

У меня есть файл.m, с помощью которого я хочу запустить сценарий R. Как я могу это сделать.

Matlab File

caller.m

%some matlab code

% need to call a R script

%some matlab code

R скрипт

script.R 

some R code

У меня есть оба файла в одной папке.

Как запустить скрипт script.R с caller.m?


Ответ Дрю Стин в целом правдив, поскольку я нашел это в большинстве мест в Интернете. Но то, что сработало для меня, я опишу ниже:

шаги:

  1. Добавьте "C:\Program Files\R\R-2.15.3\bin\x64" к переменной "path". Эта ссылка предоставляет процедуру для установки пути в Windows 7 OS. Обратите внимание, что bin \ x64 вместо bin, bin не работал для меня.

  2. Перезапустите Matlab.

  3. Используйте exec=system('Rscript.exe script.R'), где текущий script.R находится в текущем каталоге matlab.

1 ответ

Вы можете использовать system функция в MATLAB для выполнения команд оболочки. Поскольку вы можете запустить R из пакетных файлов,

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

должно сработать. Обратите внимание, что path должен быть правильный относительный путь к вашему R-сценарию, независимо от того, какой у вас активный каталог в MATLAB. executed будет оцениваться как 0, если системная команда выполнена успешно (что не совпадает с успешно выполненным R-скриптом).

Другие вопросы по тегам