我在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"
该软件包的第4版现已发布,但我们想将第3版和第4版的结果进行比较。为此,我们希望在系统上安装第4版asreml4
。我已经下载了* tar.gz文件的最新版本,但是如果我下载了
R CMD INSTALL asreml_4.1.0.93.tar.gz
它将安装在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’
那么,如何以asreml4
可以调用它的方式将其安装在文件夹中library(asreml4)
?
1)编辑DESCRIPTION下载源代码,编辑DESCRIPTION文件以使用其他名称,然后构建并安装它。
2)单独的库或者将新版本安装到单独的库中,然后使用其中之一来获取所需的版本:
library(asreml, lib = ...)
library(asreml)
2a).libPaths的一种变体是.libPaths(new)
用于更改默认库路径,发出
library(asreml)
然后改回来。
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句