2017-04-05 139 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... 
相关问题