如何以其他名称安装R软件包?

Bio*_*eek 5 installation r

我在Red Hat Enterprise Linux 6上使用R 3.4.1.我asreml安装了3.0版本的软件包/tools/bioinfo/app/R-3.4.1/lib64/R/library.

> library(asreml)
Loading required package: lattice
Checking for license <redacted>

> .libPaths()
[1] "/tools/bioinfo/app/R-3.4.1/lib64/R/library"
Run Code Online (Sandbox Code Playgroud)

该软件包的第4版现已问世,但我们希望将版本3的结果与版本4进行比较.为此,我们希望在我们的系统上安装版本4 asreml4.我已经下载了带有最新版本的*tar.gz文件,但是如果我这样做的话

R CMD INSTALL asreml_4.1.0.93.tar.gz
Run Code Online (Sandbox Code Playgroud)

它将它安装在asreml文件夹中,覆盖旧版本.那不是我想要的.

我也尝试在另一个地方安装它,将文件夹重命名为,并将该文件夹asreml4复制到/tools/bioinfo/app/R-3.4.1/lib64/R/library然后尝试加载它,但随后它加载了错误的版本:

> library(asreml, lib.loc="/tools/bioinfo/app/R-3.4.1/lib64/R/library/asreml4")
> packageVersion("asreml")
[1] ‘3.0.1’
Run Code Online (Sandbox Code Playgroud)

那么,我如何以一种asreml4我可以调用它的方式将它安装在一个文件夹中library(asreml4)呢?

G. *_*eck 5

1)编辑说明下载源代码,编辑DESCRIPTION文件以使其具有不同的名称,然后构建并安装它.

2)单独的库或者将新版本安装到一个单独的库中,然后使用其中一个来获得所需的版本:

library(asreml, lib = ...)
library(asreml)
Run Code Online (Sandbox Code Playgroud)

2a).libPaths这种变体.libPaths(new)用于更改默认库路径问题

library(asreml)
Run Code Online (Sandbox Code Playgroud)

然后改回来.

2b)dev_mode完成库切换的一种简单方法是不使用dev_mode()参数(来自devtools包).dev_mode()发出第一个命令后,默认库变为〜/ R-dev.此时使用普通install.packages命令安装新版本的asrmel 而不指定lib=,它将安装到〜/ R-dev中.在library不指定库的情况下加载它将使它首先查看〜/ R-dev.然后测试它,最后当你准备好再次切换回原始库和原始asreml问题dev_mode()时. dev_mode()操纵默认库路径,以便您可以随时使用.libPaths()不带参数来检查当前默认值.

library(devtools)
dev_mode() # ~/R-dev now default library
# ...
dev_mode() # restore usual default library
Run Code Online (Sandbox Code Playgroud)