HOWTO · R
如何检查 R 的版本
了解如何在 R 控制台、从终端以及在 R 脚本内检查 R 版本,并理解每种方法报告的是哪个会话或可执行文件。
本页内容
在 R 内部使用 R.version.string 可获得简洁的版本标签,或在终端中运行 R --version 来检查该终端的 PATH 中找到的可执行文件。控制台表达式描述的是你打开的 R 会话;终端命令可能指向与 IDE 所选安装不同的另一安装。
在 R 控制台中检查 R 版本
在 R 提示符下,对 R.version.string 求值可打印一个包含发行号和任何构建细节的简短标签。这通常是识别当前控制台或 RStudio 会话所用版本的最快方法。该表达式读取一个值;它不调用函数。
cat(R.version.string, "\n")
输出:
R version 4.2.2 Patched (2022-11-10 r83330)
如需结构化细节,请检查 R.version。它是一个内置对象,而不是函数,其字段描述 R 构建,包括主、次版本号组件、平台和版本字符串。使用 $ 读取特定字段,例如 R.version$major,或在诊断不同构建之间的差异时显示整个对象。确切的字段和值取决于 R 的安装,因此请比较版本字符串和相关组件,而不是依赖与另一台机器绑定的示例。
sessionInfo() 回答的是更广泛的故障排查问题。它报告 R 版本以及操作系统、区域设置和已附加或已加载的包信息。当问题可能取决于包或会话设置时使用它;当你只需要版本标签时使用 R.version.string。
从命令行检查 R 版本
在终端中,运行 R --version。这会要求从当前 PATH 解析出的 R 可执行文件打印其版本信息。该命令在服务器上或在不打开图形控制台的 shell 中很有用。其结果标识的是该可执行文件,而不一定是计算机上的每个 R 安装。
如果终端中打印的版本与 RStudio 或其他 IDE 中的 R.version.string 不同,则这两个环境使用的是不同的 R 可执行文件。请检查终端解析的是哪个可执行文件,以及 IDE 配置为使用哪个安装。版本检查可以帮助诊断包的兼容性,但它本身并不能确定项目需要哪个 R 发行版;在更改安装之前,请查阅项目的设置说明和包要求。
在 R 脚本中检查 R 版本
R 脚本可以打印运行它的版本,并将发行版组件与最低要求进行比较。getRversion() 返回一个专为比较设计的版本值,因此避免将版本标签当作普通文本处理。例如,文本排序可能会将 4.10 和 4.9 等发行版排错顺序;请改用版本感知的比较。
cat(R.version.string, "\n")
required_version <- "4.0.0"
current_version <- getRversion()
if (current_version >= required_version) {
cat("The required R version is available.\n")
} else {
cat("This script expects R ", required_version, " or later.\n", sep = "")
}
输出:
R version 4.2.2 Patched (2022-11-10 r83330)
The required R version is available.
所需的发行版是一个示例值;请将其替换为你的代码或项目支持的最低版本。该脚本打印活动的 R 版本,并报告该 R 是否满足要求,而将如何安装或选择 R 的决定留给项目的环境设置。为了可重现的错误报告,除了版本标签外,还请附上 sessionInfo(),因为包版本和平台细节可能会影响行为。