3

を通じてR呼び出されるスクリプトを実行しようとしています。私のスクリプトは次のとおりです。test.rqsubR

#!/usr/bin/Rscript
x <- 1
write.csv(x,"test.csv")

Ubuntu ターミナルで と入力R CMD BATCH test.rすると、スクリプトは計画どおりに動作します。test.csv同じディレクトリにエクスポートされます。

ただし、というbashスクリプトを作成testbash.shし、コマンドで実行するとqsub testbash.sh; エラーなしで実行されますが、出力はありません。

#!/usr/bin/bash
R CMD BATCH test.r

これを修正する方法は?

4

2 に答える 2

2

R スクリプトを次のように変更してみてください。

#!/usr/bin/Rscript
x <- 1
print(getwd())
write.csv(x,"test.csv")

経由qsubでスクリプトを実行すると、通常、スクリプトは別のサーバーで実行され、デフォルトではホーム ディレクトリで実行されます。スクリプトで元のディレクトリに変更する必要があります。PBS_O_WORKDIRそのための変数があります。

#!/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

于 2014-03-07T10:25:52.913 に答える
1

あなたはそれを間違っているかもしれません。次のようなシバン行がある場合

#!/usr/bin/Rscript

chmod 0755 test.r次に、ファイルに対して「単純に」実行して実行します。

./test.r

これは機能するはずで、qsub で呼び出されたスクリプトでその呼び出しを行うことができます。

于 2013-10-17T03:01:20.620 に答える