r检查软件包版本是否大于x.y.z

标签 r package version

R软件包的版本号如1.97.1。我可以检查版本号是多少

 packageVersion("data.table")

在我的计算机上,这将返回1.10.0。

我想做的是检查data.table版本是否比1.9.7更新,因为1.9.7之后的版本具有我的代码需要的功能。我曾尝试将版本分为各个组成部分,并以不同的方式对其进行评估,但是我还没有找到任何可靠的方法来执行此操作。
任何建议,不胜感激。

最佳答案

虽然utils::compareVersion()很好,但我想说,将packageVersion()与比较运算符结合使用(如@ G5W在注释中所示)更简单:

packageVersion("data.table")
[1] ‘1.10.0’
> packageVersion("data.table")>"1.9.8"
[1] TRUE
> packageVersion("data.table")>"1.10.01"
[1] FALSE
> packageVersion("data.table")=="1.10.0"
[1] TRUE
?packageVersion的示例中对此进行了说明;以这种方式使用比较运算符的能力已在?package_version中明确记录:

Functions numeric_version, package_version and R_system_version create a representation from such strings (if suitable) which allows for coercion and testing, combination, comparison, summaries (min/max), inclusion in data frames, subscripting, and printing. The classes can hold a vector of such representations.

关于r检查软件包版本是否大于x.y.z,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41495639/

相关文章:

java - Doxygen,如何描述一个Java包

android - 无法从开发者帐户中删除应用信息。版本代码问题

r - ** optimize **和** uniroot **有什么区别?

r - 绑定(bind)不同长度的表

r - 如何在格子图中绘制刻度线

r - 各组之间进行比较

python - 在 Snow Leopard 上查找 Python 附带的默认包时遇到问题

php - 拉维尔 | ReflectionException - 类不存在

flutter - 如何获取 Flutter Web 应用程序的构建和版本号

python - 检查代码是否适用于较新的 python 版本