你如何使用同一个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