Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从macosx终端运行R_R_Bash_Macos - Fatal编程技术网

从macosx终端运行R

从macosx终端运行R,r,bash,macos,R,Bash,Macos,我已经在网上搜索过了,我还不清楚如何在Mac终端上运行R。我已经安装了Rstudio和独立的R应用程序。我想我可以从命令行键入“R”,就像我在“python”中所做的那样,但这不起作用。是否需要在我的bash配置文件中编辑路径?如果是,我如何给出R的正确位置 谢谢你的帮助 收到评论后进行编辑 所以,我在运行Sierra,当我在终端上键入“r”或“r”时,我会得到“-bash:r:command not found”。如果我在终端上键入“which r”,我不会得到任何输出 这是“echo$PAT

我已经在网上搜索过了,我还不清楚如何在Mac终端上运行R。我已经安装了Rstudio和独立的R应用程序。我想我可以从命令行键入“R”,就像我在“python”中所做的那样,但这不起作用。是否需要在我的bash配置文件中编辑路径?如果是,我如何给出R的正确位置

谢谢你的帮助

收到评论后进行编辑 所以,我在运行Sierra,当我在终端上键入“r”或“r”时,我会得到“-bash:r:command not found”。如果我在终端上键入“which r”,我不会得到任何输出

这是“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.Frameworks/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/Framewworks/Python.framework/Versions/2.7/bin:/usr/local/bin:/usr/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。我希望额外的细节能有所帮助,我也感谢您的回复。

首先,您必须启动终端应用程序。您可以使用内置的Terminal.app,也可以使用替换。我最喜欢的是iTerm2

然后,您只需打开终端窗口并运行R,如下所示:


玩得开心

对于那些不太熟悉Terminal和Bash的人来说,这是一个答案。

我已经在R.org cran网站上安装了一个新的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版本3.3.2在Anaconda包中访问,同样在顶级目录中

R.home()
[1] "/anaconda/lib/R"
所以我有两个不同版本的R,终端访问不同版本的R.app


如何确保在终端中访问与在R.app中相同的版本?

对于熟悉bash以及整个bash命令系统如何工作的人,我确信有一个构造良好的命令。同样,这里有一些新手解决方案

-

第一个解决方案:

我可以更新anaconda版本,但是,我不希望anaconda包的其他元素依赖于R的旧版本。对于那些还不熟悉Terminal和bash的人,这不是一个新手解决方案

-

第二种解决方案:

这个解决方案来自mko。它提供了一个一次性的解决方案。根据上面的结果,进一步检查目录结构以找到这个R文件

查找重要的R文件使我能够编辑R.app中显示的上述路径的扩展名。因此,添加/bin/R以输入

/Library/Frameworks/R.framework/Resources/bin/R
输入并按return键将从此版本启动R

或者,你可以在GUI Finder中找到这个文件和图标,由上面的结果引导,只需双击它,它就会打开终端和一个运行R的会话。轻松点

你也可以为它制作一个别名,并把它放在你的桌面上,以便于将来的开始

-

第三种解决方案:

我认为我的最后一个解决方案可能是最好的,添加到mko的解决方案中。化名

在终端的主目录中,我使用nano文本编辑器打开.bash_配置文件。(如果您还不知道如何执行此操作,则最好不要使用此解决方案。)

然后在这个env文件中添加该行

alias Rv340='/Library/Frameworks/R.framework/Resources/bin/R'
然后保存更改并退出此终端会话。然后我打开一个新的终端窗口。(因此,上述对env的更改将合并到新的终端会话中)

然后,当我输入别名时:

Rv340
我想要的R版本将打开

您可以为“Rv340”选择不同的别名

-

第四种解决方案:

在终端中打开相同版本的R的第二个更持久的解决方案如下

export PATH="/Library/Frameworks/R.framework/Resources:$PATH"
复制R.app中显示的路径以响应上面的R.home()命令,并将该路径添加到.bash_配置文件中的路径。(如果您还不知道如何执行此操作,请忽略此解决方案。)按如下操作

export PATH="/Library/Frameworks/R.framework/Resources:$PATH"
据我所知,这确保bash在这里查找R(以及其他任何内容),然后转到路径中的其他路径。由于这会将此路径添加到$path(一个env变量)的开头,bash会首先在此处查找最新版本,然后停止查找

当需要了解在.bash_概要文件中设置的环境中的路径时,以下两个链接很有帮助

sudo ln -s /Library/Frameworks/R.framework/Versions/Current/Resources/bin/R /usr/local/bin
sudo ln -s /Library/Frameworks/R.framework/Versions/Current/Resources/bin/Rscript /usr/local/bin
    mkdir -p /usr/local/bin
    cd /usr/local/bin
    rm -f R Rscript
    ln -s /Library/Frameworks/R.framework/Resources/bin/R .
    ln -s /Library/Frameworks/R.framework/Resources/bin/Rscript .