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

4 vues (au cours des 30 derniers jours)
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?

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Environment and Settings dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by