我在网上搜索过,我还不清楚如何从Mac终端运行R. 我安装了Rstudio和独立的R app.我以为我可以像命令行一样在"python"中输入"R",但这不起作用.是否有必要在我的bash配置文件中编辑PATH?如果是这样,我如何给出R的正确位置?
谢谢你的帮助
所以,我正在运行Sierra,当我在终端输入"r"或"R"时,我得到"-bash:R:command not found".如果我输入,终端中的"哪个R"我没有得到任何输出.
以下是"echo $ PATH"的输出:/usr/local/heroku/bin:/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/用户/ samuelcolon /蟒蛇/斌:/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
至于安装,我相信我刚刚从cran.r-project.org下载了它.我可以在我的应用程序中找到GUI并打开它 - 我有3.13版本.有可能,我只安装R.app但不安装R?也许这就是我在终端输入"R"时得到"未找到命令"的原因?
一般来说,我一直在RStudio工作,但我仍然想从终端访问R并找到所在的位置.如果从方方面开始最简单,我可以删除并重新安装R. 我希望额外的细节有所帮助,我很欣赏这些回复.
Cam*_*ust 12
那些不熟悉Terminal和Bash的人的答案.
我已经从R.org网站上完成了R的全新更新安装,作为寻求问题答案的一部分.
我发现这个最新的安装版本3.4.0在终端中安装了R用于访问,并且还安装了R.app作为包的一部分.
据我所知,阅读支持文档,如果你有一个旧版本的R它会更新它.但是它不会更新anaconda包安装的R的安装.
R文件存储在哪里?
我只能假设通过全新安装的最新R,R将在终端中为您服务.
要了解正在访问的R文件的位置 - 在启动R后的终端中以及在R.app中,键入:
>R.home()
在我的例子中:
在R.app中 - 在顶级目录(不是我的用户文件夹)中访问R版本3.4.0:
R.home()
[1] "/Library/Frameworks/R.framework/Resources"
Run Code Online (Sandbox Code Playgroud)
在终端中 - R版3.3.2在Anaconda包中访问,同样在顶级目录中访问.
R.home()
[1] "/anaconda/lib/R"
Run Code Online (Sandbox Code Playgroud)
所以我有两个不同版本的R,终端访问R.app的不同版本.
如何确保我在终端中访问与在R.app中相同的版本?
对于熟悉bash的人,以及整个bash命令系统如何工作,我确信有一个构造良好的命令.这里都是一些新手解决方案.
-
•第一解决方案:
我可以更新anaconda版本,但是,我不希望像anaconda包的其他元素一样依赖于这个旧版本的R.对于那些还不熟悉终端和bash的人来说,不是这样的新手解决方案.
-
•第二解决方案:
这个解决方案来自mko.它提供了一次性解决方案.从上面的结果,并进一步检查目录结构,找到这个R文件.
查找重要的R文件使我能够编辑R.app中显示的上述路径的扩展名.所以添加/ bin/R进入
/Library/Frameworks/R.framework/Resources/bin/R
Run Code Online (Sandbox Code Playgroud)
输入并按回车将从此版本开始R.
或者,可以在GUI Finder中找到此文件和图标,由上面的结果引导,只需双击它,它将打开终端并为您运行R会话.简单!
也可以为它做一个别名,并将其放在桌面上,以便日后开始使用.
-
•第三解决方案:
我认为我的最后一个解决方案可能是最好的,增加了mko的解决方案.别名.
在终端I的主目录中,使用nano文本编辑器打开.bash_profile.(如果您还不知道如何执行此操作,那么最好不要使用此解决方案.)
然后我在这个env文件中添加该行.
alias Rv340='/Library/Frameworks/R.framework/Resources/bin/R'
Run Code Online (Sandbox Code Playgroud)
然后我保存更改并退出此终端会话.然后我打开一个新的终端窗口.(这是对上面env的更改包含在新的终端会话中).
然后当我输入别名时:
Rv340
Run Code Online (Sandbox Code Playgroud)
RI的版本想要打开.
您可以为"Rv340"选择不同的别名.
-
•第四解决方案:
在终端中打开相同版本的R的第二个更永久的解决方案如下.
复制R.app中显示的路径以响应上面的R.home()命令,并将该路径添加到.bash_profile中的PATH.(如果您还不知道如何执行此操作,请忽略此解决方案.)请执行以下操作.
export PATH="/Library/Frameworks/R.framework/Resources:$PATH"
Run Code Online (Sandbox Code Playgroud)
根据我的理解,这可以确保bash在这里查找R(以及其他任何内容),然后转到PATH中的其他路径.由于这会将此路径添加到$ PATH(一个env变量)的开头,因此bash首先在此处查找首先找到较新版本的内容,然后停止查找.
当在.bash_profile中设置的env中理解PATH时,以下两个链接是有用的.
这个解决方案可能会因为anaconda对R的调用而破坏.我还没有检查过这个问题.
首先,您必须启动终端应用程序.您可以使用内置的Terminal.app,也可以使用替换.我最喜欢的是iTerm2
然后,您只需打开终端窗口并运行R.如下所示:
和R玩得开心!