2017-04-05 63 views
1

我使用的集羣不可能全局安裝特定的R版本。鑑於我建了一個特定版本的R上的文件夾:如何使用qsub在HPC上使用本地R安裝

<generic_path>/R/R-X.Y.Z 

,我在本地安裝一些軟件包:

<generic_path/R/packages 

如何設置,在shell腳本(bash)的,環境變量和別名來運行這個特定的R版本,從本地軟件包目錄加載軟件包?

+0

@ zx8754如果您想將此添加到我的答案,我正在將其轉換爲社區wiki – gc5

+1

可能已經離開作爲答案,並獲得upvotes,鼓勵回答你自己的問題:),無論如何更新您的文章,將刪除我的評論。 – zx8754

回答

1

選項1: 使用對HPC(在我的情況下的qsub腳本)一個外殼腳本,這是可能的通過運行一個外殼腳本(例如在bash),其包含以下行:

alias R="<path_to_R>/R/R-X.Y.Z/bin/R" 
export R_LIBS="<path_to_R>/R/packages" 
export PATH="<path_to_R>/R/R-X.Y.Z/bin:${PATH}" 

腳本(這裏我把它命名爲makeenv.sh)可以使用qsub腳本中與運行:

source makeenv.sh 

選項2:根據您的HPC系統上,你可能公頃已經module availmodule load命令,如果是的話,然後使用:

myBsubFile.sh

#!/bin/bash 
# some #BSUB headers... 
# ...  

module load /R/R-X.Y.Z 
Rscript myRcode.R 

然後在R腳本加載庫爲:

myRcode.R

library("data.table", lib.loc = "path/to/my/libs") 
# some more R code... 
相關問題