отправить R скрипт в сетку в виде партии - PullRequest
2 голосов
/ 19 февраля 2012

Я хотел отправить работу R в сетку. Я сохранил основной код R в MGSA_rand.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  

Я не получаю ни ошибки, ни вывода. Работа заканчивается так, как я ее отправляю, без какого-либо вывода. Не могли бы вы помочь мне?
спасибо, Пегах

1 Ответ

0 голосов
/ 19 февраля 2012

Переменная $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)

Это должно работать ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...