一尘不染

命令查看RStudio使用的“ R”路径

linux

原始问题

这似乎很容易,并且可能曾经被问过,但是我无法通过搜索找到它。


我有几种R安装方式。我只是想知道,当我运行RStudio时,R它指向的是哪种风格。因此,我需要一个命令-理想情况下是在RStudio内-
该命令可以告诉我当前R正在使用的此RStudio窗口所使用的基础可执行文件。


需要明确的是,我不需要/不想知道我正在使用的R 的 版本 (例如R version 3.2.2 (2015-08-14) -- 'Fire Safety')。相反,我想知道RStudio到达R的实际路径-在RStudio中查看它-
这样我就可以“知道”它使用的是哪个版本。(例如/usr/local/bin/R。)


编辑和回答

这里有很多精彩的讨论,有些是特定于OS的。我有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"

如您所熟悉的,我正在使用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

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

/usr/local/Cellar/r/3.2.2_1/R.framework/Resources/bin/R

作为最终目的地。

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


阅读 1959

收藏
2020-06-07

共1个答案

一尘不染

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

在Windows上,我将使用以下内容,原因是Henrik
Bengtsson在该主题的长线程开始附近讨论了这些原因。

file.path(R.home("bin"), "R")

这比file.path(R.home(), "bin", "R")在以下代码段的“值”部分中提到的几个设置中使用要好help(R.home)

细节:

R home目录是正在运行的R安装的顶级目录。

[…]

值:

给出R主目录或特定组件路径的字符串。通常,这些组件都是R home目录的所有子目录,但是在类似Unix的安装中可能不是这种情况。[…]“
modules”和Windows“ bin”的返回值是特定于子架构的位置。

2020-06-07