检查已安装的R包版本并更新(如果旧)

时间:2014-01-24 04:10:04

标签: r

我们通过puppet管理集群中的R包,我们创建了一个具有如下命令的文件。我们内部有R package repo的镜像。

install.packages(“BH”,repos = NULL,dependencies = TRUE,contriburl = http://our_internal_repo.com

在rPackages.xt

这个使用puppet我们正在通过RScript rPackages.txt执行

现在在下周我们又增加了3个附加包,我们修改了rPackages以包含新包的其他行。

既然scirpt将从头到尾阅读,它将尝试重新安装所有包。

我的问题是,如果安装的版本与我们内部仓库中的版本不同,如何安装软件包。

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

管理R安装的最佳做法是什么。

由于

1 个答案:

答案 0 :(得分:0)

将Rscript更改为

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

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