R передать командную строку Rscript с параметрами в emacs ESS?

Я хотел бы иметь возможность отлаживать сценарий R, который вызывается со списком параметров через emacs ESS. Например:

/specific/version/of/R/bin/Rscript \
    /my/dir/script.R \
    firstparam \
    /second/param/is/a/file.txt

Вместо того, чтобы мой сеанс ESS просто вызывал R без параметров, как я могу передать эти параметры выше в сеанс ESS и отлаживать скрипт построчно?


person 719016    schedule 30.06.2014    source источник


Ответы (1)


Я предполагаю, что script.R, вероятно, вызывает функциональность commandArgs. Я не думаю, что есть способ «записать» это после того, как вы вызвали R внутри , но как только ваш скрипт открыт в emacs, и вы вызвали R обычным способом, затем выполните скрипт как обычно, но перед любыми строками, напоминающими myvar <- commandArgs()[2], вручную установите для myvar (или любой другой переменной, которую устанавливает сценарий!) значение firstparam, вместо того, чтобы позволять commandArgs пытаться читать из исходной командной строки.

Кроме того, вы можете вызвать R, чтобы запросить у вас необязательные аргументы для R, используя C-u M-x R и вручную введя firstparam и т. д., но индекс аргументов может не синхронизироваться между Rscript и способом вызова R вашей ESS, поэтому могут потребоваться эксперименты.

person Gavin Kelly    schedule 30.06.2014