在R包中,函数是否有一种简单的方法可以访问指定在DESCRIPTION文件中的版本号?
或许可以使用installed.packages()
。
installed.packages()['MASS', 'Version']
# [1] "7.3-57"
你可以使用 packageVersion()
函数:
packageVersion("MASS")
#> [1] '7.3.56'
packageVersion("MASS") >= "7.3.9" # Compares as version, not character
#> [1] TRUE
2022年6月5日由reprex package (v2.0.1)创建
根据您安装的包的数量,使用此方法将比使用installed.packages()
更快:
microbenchmark::microbenchmark(packageVersion("MASS"), installed.packages()['MASS', 'Version'])
#> Unit: microseconds
#> expr min lq mean median
#> packageVersion("MASS") 315.500 336.111 392.9827 370.0415
#> installed.packages()["MASS", "Version"] 4648.788 4811.913 7278.9214 4893.4105
#> uq max neval cld
#> 425.8515 796.667 100 a
#> 5055.4825 235622.901 100 b
由reprex package (v2.0.1)于2022-06-05创建
utils::packageVersion("rempsyc")
确保版本始终是最新的。然而,CRAN 检查会出现以下警告:Reading CITATION file fails with: there is no package called 'rempsyc'
。看起来它在安装软件包之前检查 CITATION 文件,有点奇怪。是否有任何可能的解决方法? - rempsycmeta
变量的示例。如果还不清楚,我认为您需要发表一个新问题。 - user2554330