MATLAB Answers

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

190 views (last 30 days)
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?

  0 Comments

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 4 Mar 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 Comments

Show 1 older comment
Kouichi C. Nakamura
Kouichi C. Nakamura on 6 Mar 2017
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
Walter Roberson
Walter Roberson on 6 Mar 2017
On OS-X El Capitan, /usr/local/bin is not part of the default path given to apps.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by