安装两个版本时如何判断我正在运行哪个版本的 R

问题描述 投票:0回答:7

我的电脑上有两个R目录:
一个是

/home/R-2.15.2
,另一个是
/home/R-2.15.1

当我输入
R
时,我可以启动 R,现在我想知道哪个 R 正在运行:2.15.1 还是 2.15.2?

r version built-in
7个回答
83
投票

2021 年 5 月 20 日更新:

在 R 终端中,输入

R.version


41
投票

运行

R --version
第一行有版本信息。

编辑:如果你问这个问题,那么我敢打赌 R 不会从这些目录中的任何一个运行。检查 $PATH 环境变量以获取在何处查找二进制文件以及查找顺序的信息。

编辑 2:使用

type
shell 命令查找给定命令的二进制文件的存储位置,
-a
用于所有路径,
-f
用于散列路径(基本上:最近使用的)。


31
投票

内置的

version
将显示这一点。

> version
               _                            
platform       x86_64-apple-darwin9.8.0     
...
version.string R version 2.15.2 (2012-10-26)

version
是一个包含 14 项的命名列表,你真的只是想看看:

> version[['version.string']]
               _                            
[1] "R version 2.15.2 (2012-10-26)"

事实上如果你只想要版本字符串:

> strsplit(version[['version.string']], ' ')[[1]][3]
[1] "2.15.2"

输入

builtins()
查看所有内置函数。

POSTSCRIPT:事实证明

version
R.version
(由 nathaninmac 提到)是同一事物的别名。


10
投票

尝试

sessionInfo()

除了 R 版本之外,它还返回已加载包的版本等。

http://stat.ethz.ch/R-manual/R-patched/library/utils/html/sessionInfo.html


7
投票

这也能达到目的

paste0(R.Version()[c("major","minor")], collapse = ".")

4
投票

目前还没有人列出

getRversion()
,这样做的好处是可以和它的返回值进行比较。例如:

getRversion()
#> [1] '4.3.0'
getRversion() >= "4.3.0"
#> [1] TRUE

checkmate::assert_true(getRversion() >= "4.3.0")
checkmate::assert_true(getRversion() >= "4.3.1")
#> Error in eval(expr, envir, enclos): Assertion on 'getRversion() >= "4.3.1"' failed: Must be TRUE.

创建于 2023-06-26,使用 reprex v2.0.2


1
投票

您可以输入使用 R 二进制文件的“which R”

或者输入 R 并看到类似下面的内容,这应该会告诉您哪个版本。

” R 版本 2.15.1 (2012-06-22) --“烤棉花糖” 版权所有 (C) 2012 R 统计计算基金会 .. .. ”

© www.soinside.com 2019 - 2024. All rights reserved.