Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Running R from Mac OSX terminal

Tags:

bash

macos

r

I've searched the web, and I'm still unclear on how to run R from the Mac terminal. I have Rstudio and the standalone R app installed. I thought I could just type "R" from the command line as I do with "python", but that doesn't work. Is it necessary to edit the PATH in my bash profile? If so, how do I give the correct location of R?

Thanks for any help

Edits after receiving comments

So, I'm running Sierra, and when I type "r" or "R" at the terminal, I get "-bash: R: command not found." If I type, "which R" in the terminal I do not get any output.

Here is the output from "echo $PATH": /usr/local/heroku/bin:/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Users/samuelcolon/anaconda/bin:/Library/Frameworks/Python.framework/Versions/3.5/bin:/Users/samuelcolon/.rvm/gems/ruby-2.1.0/bin:/Users/samuelcolon/.rvm/gems/ruby-2.1.0@global/bin:/Users/samuelcolon/.rvm/rubies/ruby-2.1.0/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/samuelcolon/.rvm/bin:/Users/samuelcolon/.rvm/bin

As for the installation, I believe I downloaded it directly from cran.r-project.org a while ago. I can locate the GUI in my applications and open it-- I have version 3.13. Is it possible, I only have R.app installed but not R? Perhaps that's the reason I'm getting the 'command not found' when typing "R" into the terminal?

Generally, I've been working in RStudio, but I'd still like to access R from the terminal and also to find where things are located. I'm fine with removing and re-installing R if it's easiest to start from square one. I hope the extra detail helps, and I appreciate the responses.

like image 207
sjc725 Avatar asked Jun 02 '17 19:06

sjc725


People also ask

How do I run an R command in terminal?

To run an R command, put the cursor on the line of the command and then click the Run button at the top of the file window. Or just press CTRL-Enter.

How do I run an R file on a Mac?

To use R and R-Studio, simply click on the R-Studio icon. It is not necessary to click on the R icon, too. On Mac you need to go to the CRAN website, https://www.r-project.org/ to install the newer package installer.

Can you code R on a Mac?

To install R on a Mac, click the “Download R for Mac” link. Next, click on the R-3.0. 3 package link (or the package link for the most current release of R). An installer will download to guide you through the installation process, which is very easy.


2 Answers

An answer for those not that familiar with Terminal and Bash.

I have done a fresh update install of R from the R.org cran site as part of seeking an answer to your question.

I found this latest install version 3.4.0 installs R for access in Terminal, and also installs R.app as part of the package.

To my understanding, reading support docs, if you have an older version of R it will update that. However it will not update an installation of R installed by the anaconda package.


Where are the R files stored?

I can only assume that with a fresh install of the latest R, R will work for you in Terminal.

To learn where the R files are that are being accessed - in Terminal after starting R, and in R.app, type:

>R.home()


In my case as example:

In R.app - the R version 3.4.0 is accessed in the top directory (not my user folder):

R.home()
[1] "/Library/Frameworks/R.framework/Resources"

In Terminal - the R version 3.3.2 is accessed in the Anaconda package, again in the top level directory.

R.home()
[1] "/anaconda/lib/R"

So I have two different versions of R, and Terminal accesses a different version to R.app.


How can I ensure I access the same version in Terminal as I do in the R.app?

For someone familiar with bash, and how the whole bash command system works I am sure there is a well constructed command. All the same here are some novice solutions.

-

• First Solution:

I could update the anaconda version, however, I would prefer not to as as other elements of the anaconda package my depend on this older version of R. For those not yet familiar with Terminal and bash, not such a novice solution.

-

• Second Solution:

This solution came from mko. It provides a single use solution. From the result above, and checking the directory structure a little further to find this R file.

icon in finder

Finding the significant R file enables me to edit an extension of the above path shown in the R.app. So add /bin/R to enter

/Library/Frameworks/R.framework/Resources/bin/R

Entering and pressing return will start R from this version.

Alternatively, one can find this file and icon in the GUI Finder, lead by the above result, and just double click on it, and it will open Terminal and a session with R running for you. Easy!

One could also make an alias of it and put it on your desktop for easy future starts.

-

• Third Solution:

My last solution I think may be best, adding to mko's solution. Make an alias.

Being in my home directory in Terminal I open .bash_profile using the nano text editor. (If you do not already know how to do this, then best not use this solution.)

I then add the line in this env file.

alias Rv340='/Library/Frameworks/R.framework/Resources/bin/R'

I then save the changes and exit this terminal session. I then open a new Terminal window. (This is so the changes to the env above are incorporated in the new terminal session).

Then when I enter the alias:

Rv340

The version of R I want opens.

You can choose a different alias name to "Rv340".

-

• Fourth Solution:

A second more permanent solution for opening the same version of R in Terminal is as follows.

Copy the path as showing in R.app in response to the R.home() command above, and add that path to PATH in your .bash_profile. (If you do not know already how to do this, then ignore this solution.) Do so as follows.

export PATH="/Library/Frameworks/R.framework/Resources:$PATH"

To my understanding, this ensures that bash looks here for R (and anything else), then moves on to the other paths in PATH. Since this adds this path to the beginning of $PATH, an env variable, bash looks here first where it finds the newer version first, and stops looking.

When it comes to understanding PATH in the env set up in .bash_profile the following two links were helpful.

About PATH.

How to correctly add a path to PATH.

This solution may muck with anaconda's invocation of R. I have yet to check this.

like image 118
Cam_Aust Avatar answered Nov 15 '22 00:11

Cam_Aust


First of all, you have to start terminal application. You can use either built in Terminal.app, or you can use replacement. My favorite one is iTerm2

https://www.iterm2.com

Then, you simply open terminal window and run R. Just like shown below:

enter image description here

Have fun with R!

like image 42
Oo.oO Avatar answered Nov 15 '22 00:11

Oo.oO