首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过qsub运行R脚本

通过qsub运行R脚本
EN

Stack Overflow用户
提问于 2013-10-17 09:53:42
回答 2查看 8.3K关注 0票数 3

我正在尝试通过qsub运行一个名为test.rR脚本。我的R脚本如下:

代码语言:javascript
复制
#!/usr/bin/Rscript
x <- 1
write.csv(x,"test.csv")

如果在Ubuntu终端中输入R CMD BATCH test.r,则脚本将按计划运行;test.csv将导出到同一目录中。

但是,如果我创建一个名为testbash.shbash脚本并通过命令qsub testbash.sh运行它,它将不会出现错误,但输出不会出现。

代码语言:javascript
复制
#!/usr/bin/bash
R CMD BATCH test.r

如何解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2014-03-07 18:25:53

尝试将R脚本修改为:

代码语言:javascript
复制
#!/usr/bin/Rscript
x <- 1
print(getwd())
write.csv(x,"test.csv")

当您通过qsub运行脚本时,该脚本通常在另一台服务器上运行,并且默认情况下在您的主目录中运行。您需要在脚本中切换到原始目录,有一个用于此的变量PBS_O_WORKDIR

代码语言:javascript
复制
#!/usr/bin/bash
#PBS -N qsub_R_test
echo We are in the $PWD directory
cd $PBS_O_WORKDIR
echo We are now in $PBS_O_WORKDIR, running an R script.
R --vanilla < test.r > test.log 2> test.log

我通常不能使用R CMD BATCH,但是重定向到R -vanilla可以工作。您还可以在脚本中指定PBS的选项,以#PBS开头,如本例中的作业名称(qsub_R_test)。

您可以在此处获取更详细的qsub参数列表:http://www.csc.fi/english/pages/louhi_guide/batch_jobs/commands/qsub

这里有一个PBS脚本的示例:http://bose.utmb.edu/Compu_Center/Cluster_users/PBS%20HOWTO/PBS_HOW_TO.html

票数 2
EN

Stack Overflow用户

发布于 2013-10-17 11:01:21

你可能做错了。如果你有一个像这样的shebang行

代码语言:javascript
复制
#!/usr/bin/Rscript

然后“简单地”对该文件执行chmod 0755 test.r,并运行它:

代码语言:javascript
复制
./test.r

这应该可以工作,然后您就可以在qsub中调用名为script的代码了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19416972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档