你如何使用同一个R包的多个版本?

为了能够比较两个版本的软件包,我需要能够选择我加载的软件包的版本。 R的软件包系统默认设置为覆盖现有软件包,因此您始终拥有最新版本。 我如何覆盖这种行为?

我到目前为止的想法是:

我可以获取软件包源,编辑描述以给出不同的名称,并生成两个不同的软件包。 尽管如此,我宁愿能够直接与二进制文件一起工作,因为它不那么麻烦。

我不一定需要同时加载两个版本的软件包(只需同时安装)。 我可能会用Sys.getenv('R_HOME')来改变R安装包的位置,然后改变.libpaths()来改变R查找它们的位置。 尽管这看起来很诡异,但是任何人都有更好的想法吗?


您可以选择性地更改库路径。 为了获得完全的透明度,请保持您的平常路径,然后执行

 library(foo, lib.loc="~/dev/foo/v1")    ## loads v1

 library(foo, lib.loc="~/dev/foo/v2")    ## loads v2

当然, install.packages()也是一样。 所有这些命令都有很多参数,所以你的目标可能已经存在。 所以不要看着改变R_HOME ,而是看看help(install.packages) (假设你从源代码安装)。

但是AFAIK不能在同一个名字下加载相同的软件包两次。

链接地址: http://www.djcxy.com/p/57475.html

上一篇: How do you use multiple versions of the same R package?

下一篇: based event triggers