2

R ジョブをグリッドに送信したいと考えていました。私が書いMGSA_rand.r たファイルにメインのRコードを保存しましたcallmgsa.r

print('here')
source('/home/users/pegah/MGSA_rand.r')
mgsalooprand($SGE_TASK_ID,382)

そして、ファイルを使用しRscript.shてジョブを呼び出します(-tパラメーターを使用して、対応する値を送信します$SGE_TASK_ID)

R CMD BATCH --no-save callmgsa.r

次のようにジョブを送信します。

qsub -t 1 -cwd -b y -l  vf=1000m /home/users/pegah/Rscript.sh  

エラーも出力もありません。ジョブは、送信した直後に終了し、出力はありません。手伝っていただけませんか?
ありがとう、ペガ

4

1 に答える 1

0

変数$SGE_TASK_IDはshelscript変数です。同じ構文でRで呼び出すことは機能しません。あなたができることはRscript代わりに使うことです。呼び出すシェルスクリプトから:

Rscript callmgsa.r $SGE_TASK_ID

Rスクリプトでは、次のようなコマンドライン引数をキャッチできます。

args <- commandArgs(trailingOnly = TRUE)
print('here')
source('/home/users/pegah/MGSA_rand.r')
mgsalooprand(args[1],382)

これはうまくいくはずです...

于 2012-02-19T13:21:49.527 に答える