用于查看RStudio正在使用的"R"路径的命令

Mik*_*son 14 linux r path exec

原始问题

这似乎很容易,之前可能会被问过,但我无法通过搜索找到它.


我安装了几种口味R.我只是想知道,当我运行RStudio时,R它指向的是哪种味道.所以,我需要一个命令 - 理想情况下在RStudio本身 - 可以告诉我R正在使用的这个RStudio窗口的底层可执行文件.


为了清楚起见,我不需要/想要知道我正在使用的R 的版本(例如R version 3.2.2 (2015-08-14) -- 'Fire Safety').相反,我想知道RStudio用来到R的实际路径 - 从RStudio中查看它 - 所以我知道"for reals"它正在使用哪个版本.(例如,/usr/local/bin/R.)


编辑和答案

这里有很多很棒的讨论,有些是特定于操作系统的.我有一台Mac.就我而言,我发现:

> system("type R")
R is /usr/local/bin/R

> R.home()
[1] "/usr/local/Cellar/r/3.2.2_1/R.framework/Resources"

> file.path(R.home("bin"), "R")
[1] "/usr/local/Cellar/r/3.2.2_1/R.framework/Resources/bin/R"
Run Code Online (Sandbox Code Playgroud)

正如你所熟悉的那些,我正在使用brew.如果我/usr/local/bin/R在R外寻找,我看到:

$ ls -l /usr/local/bin/R
lrwxr-xr-x  1 mike  admin  25 Nov 14 17:31 /usr/local/bin/R -> ../Cellar/r/3.2.2_1/bin/R
Run Code Online (Sandbox Code Playgroud)

最终解决(2个符号链接):

/usr/local/Cellar/r/3.2.2_1/R.framework/Resources/bin/R
Run Code Online (Sandbox Code Playgroud)

作为最终目的地.

所以在我的系统(Mac OS X)上,file.path(R.home("bin"), "R")是最准确的.

Jos*_*ien 12

(编辑以反映这显然是Windows特定解决方案的事实.)

在Windows上,我会使用以下内容,原因是Henrik Bengtsson在这个主题的长线程开头附近讨论的原因.

file.path(R.home("bin"), "R")
Run Code Online (Sandbox Code Playgroud)

这比使用file.path(R.home(), "bin", "R")此片段的"值"部分中提到的几个设置更好help(R.home):

细节:

R主目录是正在运行的R安装的顶级目录.

[...]

值:

给出R主目录或特定组件路径的字符串.通常,组件都是R主目录的子目录,但在类似Unix的安装中可能不是这种情况.[...]"模块"和Windows"bin"的返回值是针对子架构特定的位置.