检查R软件包的安装版本,如果旧,则更新

检查R软件包的安装版本,如果旧,则更新,r,R,我们正在通过puppet管理集群中的R包,我们创建了一个文件,其中包含如下命令。我们内部有R包回购的镜像 install.packages(“BH”,repos=NULL,dependencies=TRUE,contriburl=) 在rPackages.xt中 这是我们通过RScript rPackages.txt执行的木偶 现在,在下周我们将获得3个额外的包,我们将修改rPackages以包含新包的额外行 现在,由于scirpt将从头到尾读取,它将尝试重新安装所有软件包 我的问题是,只有当安

我们正在通过puppet管理集群中的R包,我们创建了一个文件,其中包含如下命令。我们内部有R包回购的镜像

install.packages(“BH”,repos=NULL,dependencies=TRUE,contriburl=)

在rPackages.xt中

这是我们通过RScript rPackages.txt执行的木偶

现在,在下周我们将获得3个额外的包,我们将修改rPackages以包含新包的额外行

现在,由于scirpt将从头到尾读取,它将尝试重新安装所有软件包

我的问题是,只有当安装的版本与我们内部repo中的版本不同时,如何安装软件包

如何在RScript中执行这些检查并相应地执行puppet

管理R安装的最佳实践是什么

谢谢

将Rscript更改为

if("BH" %in% rownames(installed.packages()) == FALSE) {install.packages("BH")}

至于版本,您可能会以某种方式使用
packageVersion

help(update.packages)
是您的朋友。在Rstudio中,您只需按下按钮,但最好遵循德克的建议。