R.exe, Rcmd.exe, Rscript.exe и Rterm.exe: в чем разница?

112

Я борюсь с разными исполняемыми файлами R. В чем именно разница между R.exe (с опцией CMD BATCH или без нее), Rcmd.exe, Rscript.exe и Rterm.exe при запуске командной строки в пакетном файле?

И в чем разница между:

R.exe --no-environ --no-save < "c:\temp\R\test.R" > "c:\temp\R\out.txt" 2>&1

и

R.exe CMD BATCH --no-environ --no-save "c:\temp\R\test.R" "c:\temp\R\out.txt"

Никакой разницы в выходе.

Я не могу найти ничего о Rcmd.exe и Rscript.exe в 3079 страницах справочного руководства R.

Кстати: я использую Windows.

вандеры
источник
3
Да, я это читал. Но ни слова о Rcmd.exe, а всего несколько строк о Rscript.exe. help (Rscript) дает мне дополнительную информацию
waanders

Ответы:

116

Предостережение: я гораздо больше работаю в Linux, чем в Windows:

  • Rcmd.exe- это исторический пережиток, поскольку в свое время вы не могли делать это R CMD somethingв Windows, но вам нужен был специальный исполняемый файл Rcmd.exe something. Это уже не так, но это предусмотрено для обратной совместимости.
  • Rterm.exeтакже пережиток тех дней, когда Rcmd.exeиспользовался. В наши дни на это можно не обращать внимания.
  • R CMD BATCHэто костыль , который был необходим в дни перед Литтлер и Rscript.exe, а так же сохраняющихся от старых привычек и документов ..
  • Rscript.exeваш друг для пакетных скриптов; используй это.
  • Для всего остального есть R.exe.

В остальном, как намекнул Марек, справочное руководство - неправильное среди шести доступных руководств. Попробуйте ознакомиться с руководствами « Введение в R» и « Установка» и «Администратор», в каждом из которых есть специальные приложения для Windows.

Дирк Эддельбюттель
источник
Спасибо. Значит, я могу забыть Rcmd.exe и R CMD BATCH?
waanders 05
1
Я просто хочу запустить сценарий R с расширением командной строки в пакетном файле Windows (оболочки). Насколько я понимаю, мне достаточно R.exe.
waanders 05
R Введение гласит: «В окне терминала (...) вызывается R.exe или более напрямую Rterm.exe». Так для всего остального Rterm?
Марек
7
Существует важное различие между R.exe и Rterm.exe - Rterm.exe скомпилирован с / LARGEADDRESSAWARE и может выделять 4 ГБ ОЗУ при работе под 64-битной Windows, в отличие от R.exe (мы говорим о 32-битном R, работающем под 64-битная Windows). Почему люди R делают это только для Rterm.exe, а не для R.exe, если Rterm.exe устарел?
Meh
2
... также важное различие между R и Rscript в том, что Rscript не загружается package:methods... и это часть того, почему он ваш друг для пакетных сценариев (более быстрое время запуска): stackoverflow.com/questions/19680462/…
russellpierce 03