Если вы хотите выполнить весь буфер - если вы работаете в Unix / Linux, вы также можете запустить свой скрипт с помощью шебанга:
#!/usr/bin/Rscript
И сделайте ваш файл исполняемым
chmod 744 myscript.r
(я вспоминаю, что чтение Google любит, когда их скрипты r заканчиваются на .R, ну да ладно ...), и вы можете выполнить это так:
./myscript.r
А с аргументами
./myscript.r arg1 arg2
(который я фактически использовал для вызова функции R из системного вызова Matlab), и в вашем R-файле вы можете использовать
userargs = tail(commandArgs(),2)
чтобы получить arg1 и arg2. Вы также можете обойтись без шебанга:
R --no-save < myscript.r arg1 arg2
и так далее. С Windows я помню, это было
R CMD BATCH myscript.r
или что-то в этом роде ... Я заметил небольшую задержку при запуске команд через ESS (хотя я очень люблю ESS 1023 *), поэтому, когда я знаю, что хочу запустить весь буфер, я иногда запустите оболочку в окне ниже сценария R (где обычно находится буфер R) и используйте описанные выше приемы.
Вы также можете использовать
echo 'source("myscript.r")' | R --no-save
также - преимущество использования этих методов перед запуском 'source ("myscript.r") непосредственно в R или буфере R заключается в том, что вы начинаете с чистого рабочего пространства (хотя вы должны быть осторожны с этим. Rprofile не будет загружен, пока вы не вызовете 'source ("~ / .Rscript") "явно в" myscript.r "), так что вы можете быть уверены, что ваш скрипт самодостаточен (он вызывает нужные библиотеки, ваши лексически ограниченные области) функции не ссылаются на непреднамеренные переменные в глобальном пространстве, которое вы забыли удалить и т. д.).