如何在 .sh 文件中 运行 R 作业

How to run R jobs within a .sh file

我正在尝试 运行 R 脚本。

这些是我的 R 脚本中的一些行 big2.r

dataa <- read.csv("/home/people/R2/big2.csv")
write.csv(head(dataa), file="/home/people/R2/head.csv")

当我在终端中执行 R CMD BATCH big2.r 时,它会给我一个 .Rout 文件以及 head.csv.

但是当我尝试使用 big2.sh 文件通过使用 qsub big2.sh 将作业提交到队列时,它没有给我一个 .Rout 文件或 head.csv 和该工作的 qstat 是 C standard 然后它就消失了。

这是我的.sh文件的内容

#!/bin/bash -l

module load R/3.2.2
R CMD BATCH big2.r

我做错了什么?提交执行 R 脚本的作业的正确方法是什么?

当我尝试 #!/usr/bin/r 时,出现以下错误。

-bash: /var/spool/torque/mom_priv/jobs/363059.sonic-head.SC: /usr/bin/r: bad interpreter: No such file or directory

我尝试了 Bash script: bad interpreter 中的解决方案,但没有帮助。

您可以使用类似 (batchR.sh):

的内容创建 shell 脚本
#!/bin/bash
#$ -S (your parameter can go here, one line for each)
#$ -j xyz

module load R/3.2.2 #in case you specifically need to load R on server node
R CMD BATCH big2.r

提交为 qsub batchR.sh

好的,试试这样的操作:

#!/usr/bin/bash -l
#PBS -N qsub_R_test

cd $PBS_O_WORKDIR
echo We are now in working directory $PWD
module load R/3.2.2
R CMD BATCH big2.r