自动检查正确的R软件包版本是否安装的函数

4
在我的工作中,所有员工使用相同版本的R和每个软件包的相同版本是至关重要的。
我已经创建了一个本地CRAN存储库和一个从该存储库直接安装的函数。
问题在于,在我的工作中有很多员工,确保每个人都这样做的唯一方法是我手动检查。
我想知道是否存在自动检查您是否安装了正确软件包的方法?
例如,如果boot_1.3-18是我希望每个人使用的软件包,那么我可以制作一个函数来检查R库是否包含此版本吗?
另外,如果可能的话(但不是必需的),也可以使用正在使用的R版本进行此操作!
非常感谢!

3
您可以通过 packageDescription("包名")$Version 来访问软件包的版本。您可以使用 install.packages()[,c("Package", "Built")] 查看所有已安装软件包的相同信息。这有帮助吗? - KenHBS
完美,正是我一直在寻找的,非常感谢。是否有类似的方法适用于正在使用的R版本? - Frost_Maggot
也许可以使用 MS Open R,或者使用虚拟机让所有用户共享一个R。 - zx8754
那么,对于不同的项目,他们被迫使用相同的版本吗?我可不想在那里工作... - Konrad Rudolph
嗨Konrad,我可能没有解释清楚。这是为所有需要锁定软件包版本的项目相同的项目。 - Frost_Maggot
@Frost_Maggot 好的,抱歉之前的假设。现在听起来合理多了! :) - Konrad Rudolph
1个回答

3

检查特定包的版本

您可以通过以下方式访问软件包的版本。 以 abind 软件包为例:

packageDescription("abind")$Version
# [1] "1.4-3"

检查所有已安装包的版本

installed.packages()[,c("Package", "Built")] 
# Gives an overview of all installed packages and the versions of those packages.
#                   Package            Built  
# abind            "abind"            "3.2.3"
# BradleyTerry2    "BradleyTerry2"    "3.2.3"
# brglm            "brglm"            "3.2.3"
# car              "car"              "3.2.4"
# caret            "caret"            "3.2.4"
# colorspace       "colorspace"       "3.2.4"
# devtools         "devtools"         "3.2.5"
# (...)

检查当前版本的R

sessionInfo()$R.version$version.string
# [1] "R version 3.2.3 (2015-12-10)"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接