R.exe, Rcmd.exe, Rscript.exe e Rterm.exe: qual è la differenza?


112

Sto lottando con i diversi eseguibili R. Qual è esattamente la differenza tra R.exe (con o senza l'opzione CMD BATCH), Rcmd.exe, Rscript.exe e Rterm.exe quando si esegue la riga di comando in un file batch?

E qual è la differenza tra:

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

e

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

Nessuna differenza nell'output.

Non riesco a trovare nulla su Rcmd.exe e Rscript.exe nelle 3079 pagine del manuale di riferimento R.

A proposito: sto usando Windows.



3
Sì, l'ho letto. Ma nessuna parola su Rcmd.exe e solo poche righe su Rscript.exe. help (Rscript) mi dà qualche informazione in più
esonera il

Risposte:


116

Avvertenza: lavoro molto di più su Linux che su Windows:

  • Rcmd.exeè un residuo storico come nel passato, non si poteva fare R CMD somethingsu Windows ma serviva lo speciale eseguibile Rcmd.exe something. Non è più così, ma è prevista la compatibilità con le versioni precedenti.
  • Rterm.exeè anche un residuo dei giorni in cui è Rcmd.exestato utilizzato. Può essere ignorato in questi giorni.
  • R CMD BATCHè una pochette che serviva nei giorni prima più piccoli e Rscript.exe, allo stesso modo, indugiando da vecchi documenti e abitudini ..
  • Rscript.exeè tuo amico per gli script batch; usalo.
  • Per tutto il resto, c'è R.exe.

A parte questo, come ha accennato Marek, il manuale di riferimento è quello sbagliato tra i sei manuali disponibili. Prova l' Introduzione a R e i manuali di installazione e amministrazione , entrambi con appendici specifiche per Windows.


Grazie. Quindi posso dimenticare Rcmd.exe e R CMD BATCH?
Waanders

1
Voglio solo eseguire uno script R con parametri della riga di comando in un file batch di Windows (shell). Da quanto ho capito bene, R.exe è sufficiente per me.
Waanders

R Introduzione afferma "All'interno di una finestra di terminale (...) invocando da R.exe o più direttamente da Rterm.exe". Quindi per tutto il resto Rterm?
Marek

7
C'è un'importante differenza tra R.exe e Rterm.exe: Rterm.exe è compilato con / LARGEADDRESSAWARE e può allocare 4 GB di RAM quando viene eseguito su Windows a 64 bit, a differenza di R.exe (stiamo parlando di 32 bit R in esecuzione sotto Windows a 64 bit). Perché le persone R lo fanno solo per Rterm.exe e non per R.exe, se Rterm.exe è obsoleto?
Meh

2
... anche un'importante differenza tra R e Rscript in quanto Rscript non viene caricato package:methods... e questo fa parte del motivo per cui è tuo amico per gli script batch (tempo di avvio più rapido): stackoverflow.com/questions/19680462/…
russellpierce
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.