首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在另一个名称下安装R包?

如何在另一个名称下安装R包?
EN

Stack Overflow用户
提问于 2018-09-21 15:49:24
回答 1查看 1.4K关注 0票数 6

我在RedHatEnterpriseLinux6上使用R3.4.1,我在/tools/bioinfo/app/R-3.4.1/lib64/R/library下安装了3.0版的软件包/tools/bioinfo/app/R-3.4.1/lib64/R/library

代码语言:javascript
复制
> 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版的结果进行比较,为此,我们希望在我们的系统上安装version4作为asreml4。我已经下载了最新版本的*tar.gz文件,但是如果我下载了

代码语言:javascript
复制
R CMD INSTALL asreml_4.1.0.93.tar.gz

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

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

代码语言:javascript
复制
> library(asreml, lib.loc="/tools/bioinfo/app/R-3.4.1/lib64/R/library/asreml4")
> packageVersion("asreml")
[1] ‘3.0.1’

因此,如何将其安装在asreml4文件夹中,以便能够使用library(asreml4)调用它

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-21 16:09:57

1)编辑描述下载源代码,编辑描述文件以具有不同的名称,然后构建和安装它。

2)单独的库交替地将新版本安装到单独的库中,然后使用其中之一获得所需的版本:

代码语言:javascript
复制
library(asreml, lib = ...)
library(asreml)

( 2a) .libPaths变体是使用.libPaths(new)更改默认的库路径

代码语言:javascript
复制
library(asreml)

然后把它改回来。

2b) dev_mode实现库切换的一种简单方法是使用没有参数的dev_mode() (来自devtools包)。发出第一个dev_mode()命令后,默认库变成~/R。此时,使用普通的install.packages命令安装新版本的asrmel,而不指定lib=,它将被安装到~/R中。在没有指定库的情况下使用library加载它将导致它首先查看~/R。然后测试它,最后,当您准备切换回原始库和原始的asreml时,再次发出dev_mode()dev_mode()操作默认库路径,因此您可以在任何时候使用不带参数的.libPaths()来检查当前默认值是什么。

代码语言:javascript
复制
library(devtools)
dev_mode() # ~/R-dev now default library
# ...
dev_mode() # restore usual default library
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52447227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档