"/bin/bash: R: command not found" when trying to run R from MATLAB (mac)

I'm trying to call R from MATLAB (R2016b/R2017a prerelease) on macOS (10.12 Siera).
I've installed R and on Terminal.app, command "R" results in loanching R software successfully.
In my understanding, something like this in MATLAB command window should do the job.
> system('R CMD BATCH "script1.R"');
However, simply "system('R')" in MATLAB returns an error message as below (let alone more complicated "system('R CMD BATCH "script1.R"')"):
>> system('R')
/bin/bash: R: command not found
ans =
127
I'm a little puzzled because the same "R" command works in Terminal and I thought "system('R')" or "unix('R')" in MATLAB is equivalent.
Can anybody suggest a solution?
For Windows, I have found a solution here. You need to properly change Environment Variables. But what about macOS?

 Respuesta aceptada

Walter Roberson
Walter Roberson el 4 de Mzo. de 2017
In OS-X, because applications launched from the dock do not go through a login shell, the full shell initialization files are not used, so the PATH environment variable will probably not be the same.
You can either use the full path to R or you can setenv('PATH') to include the path to R, or you can alter the OS-X environment variables.
You might be able to modify /etc/paths but I am not sure that works in newer versions.

4 comentarios

Thanks a lot.
I thought editing `.bash_profile` as below might work, but it didn't. I can't really understand how launchctl works.
export PATH=/usr/local/bin/R:$PATH
launchctl setenv PATH $PATH
Nevertheless, the following worked. Cheers!
> system('/usr/bin/local/R CMD BATCH "script1.R"');
Do not include the executable name in the path, just the directory
Thanks. This (below) does not work either. In fact, "/usr/local/bin" is already found in $PATH, so I don't quite see why simply "system('R')" doesn't work.
export PATH=/usr/local/bin:$PATH
launchctl setenv PATH $PATH
On OS-X El Capitan, /usr/local/bin is not part of the default path given to apps.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Historical Contests en Centro de ayuda y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by