R.exe, Rcmd.exe, Rscript.exe i Rterm.exe: jaka jest różnica?

112

Zmagam się z różnymi plikami wykonywalnymi R. Jaka jest dokładnie różnica między R.exe (z opcją CMD BATCH lub bez), Rcmd.exe, Rscript.exe i Rterm.exe podczas uruchamiania wiersza poleceń w pliku wsadowym?

Jaka jest różnica między:

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

i

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

Brak różnicy w wydajności.

Nie mogę znaleźć nic na temat Rcmd.exe i Rscript.exe w podręczniku z 3079 stronami R.

Przy okazji: używam systemu Windows.

wałki
źródło
3
Tak, czytałem to. Ale ani słowa o Rcmd.exe i tylko kilka linijek o Rscript.exe. help (Rscript) daje mi więcej informacji
waanders

Odpowiedzi:

116

Uwaga: pracuję znacznie więcej w systemie Linux niż Windows:

  • Rcmd.exejest pozostałością historyczną, której nie można było zrobić R CMD somethingw systemie Windows, ale potrzebował specjalnego pliku wykonywalnego Rcmd.exe something. Nie ma to już miejsca, ale jest zapewniona wsteczna kompatybilność.
  • Rterm.exejest również pozostałością po czasach, kiedy Rcmd.exebył używany. W dzisiejszych czasach można go zignorować.
  • R CMD BATCHJest to kula, która była potrzebna w czasach przed Littler i Rscript.exe, podobnie zalegających ze starych dokumentów i nawyków ..
  • Rscript.exejest twoim przyjacielem w zakresie skryptów wsadowych; Użyj tego.
  • Na wszystko inne jest R.exe.

Poza tym, jak zasugerował Marek, podręcznik referencyjny jest niewłaściwym spośród sześciu dostępnych podręczników. Wypróbuj wprowadzenie do języka R oraz podręczniki instalacji i administratora, które mają określone dodatki dla systemu Windows.

Dirk Eddelbuettel
źródło
Dzięki. Więc mogę zapomnieć o Rcmd.exe i R CMD BATCH?
waanders
1
Chcę tylko uruchomić skrypt R z parametrami wiersza poleceń w pliku wsadowym systemu Windows (powłoka). Jak dobrze rozumiem, wystarczy mi R.exe.
waanders
R Wprowadzenie mówi: „W oknie terminala (...) wywołanie przez R.exe lub bardziej bezpośrednio przez Rterm.exe”. Więc dla wszystkiego innego Rterm?
Marek
7
Istnieje ważna różnica między R.exe i Rterm.exe - Rterm.exe jest kompilowany z / LARGEADDRESSAWARE i może przydzielić 4 GB pamięci RAM, gdy jest uruchamiany pod 64-bitowym systemem Windows, w przeciwieństwie do R.exe (mówimy o 32-bitowym R działającym pod 64-bitowy system Windows). Dlaczego ludzie R mieliby robić to tylko dla Rterm.exe, a nie dla R.exe, skoro Rterm.exe jest przestarzały?
Meh,
2
... także ważna różnica między R i Rscript polegająca na tym, że Rscript nie ładuje się package:methods... i to jest część tego, dlaczego jest twoim przyjacielem dla skryptów wsadowych (szybszy czas uruchamiania): stackoverflow.com/questions/19680462/ ...
russellpierce