1
我使用的集群不可能全局安装特定的R版本。鉴于我建了一个特定版本的R上的文件夹:如何使用qsub在HPC上使用本地R安装
<generic_path>/R/R-X.Y.Z
,我在本地安装一些软件包:
<generic_path/R/packages
如何设置,在shell脚本(bash)的,环境变量和别名来运行这个特定的R版本,从本地软件包目录加载软件包?
我使用的集群不可能全局安装特定的R版本。鉴于我建了一个特定版本的R上的文件夹:如何使用qsub在HPC上使用本地R安装
<generic_path>/R/R-X.Y.Z
,我在本地安装一些软件包:
<generic_path/R/packages
如何设置,在shell脚本(bash)的,环境变量和别名来运行这个特定的R版本,从本地软件包目录加载软件包?
选项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 avail
,module 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...
@ zx8754如果您想将此添加到我的答案,我正在将其转换为社区wiki – gc5
可能已经离开作为答案,并获得upvotes,鼓励回答你自己的问题:),无论如何更新您的文章,将删除我的评论。 – zx8754