簡體   English   中英

如何使用其他名稱安裝R軟件包?

[英]How do I install an R package under another name?

我,使用R 3.4.1在Red Hat企業版Linux 6我包3.0版asreml下安裝/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版進行比較。為此,我們希望在系統上以asreml4形式安裝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’

因此,如何以可以使用library(asreml4)調用的方式將其安裝在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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM