R.exe, Rcmd.exe, Rscript.exe et Rterm.exe: quelle est la différence?

112

J'ai du mal avec les différents exécutables R. Quelle est exactement la différence entre R.exe (avec ou sans option CMD BATCH), Rcmd.exe, Rscript.exe et Rterm.exe lors de l'exécution de la ligne de commande dans un fichier batch?

Et quelle est la différence entre:

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

et

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

Aucune différence de sortie.

Je ne trouve rien sur Rcmd.exe et Rscript.exe dans le manuel de référence de 3079 pages R.

Au fait: j'utilise Windows.

waanders
la source
3
Oui, j'ai lu ça. Mais aucun mot sur Rcmd.exe et juste quelques lignes sur Rscript.exe. help (Rscript) me donne plus d'informations
waanders

Réponses:

116

Attention: je travaille beaucoup plus sous Linux que sous Windows:

  • Rcmd.exeest un vestige historique comme à l'époque, vous ne pouviez pas le faire R CMD somethingsous Windows mais vous aviez besoin de l'exécutable spécial Rcmd.exe something. Ce n'est plus le cas, mais il est prévu pour la rétrocompatibilité.
  • Rterm.exeest également un vestige de l'époque où il Rcmd.exeétait utilisé. Peut être ignoré ces jours-ci.
  • R CMD BATCHest une béquille qui était nécessaire dans les jours avant plus petit et Rscript.exe, et qui s'attarde de la même manière à partir de vieux documents et habitudes.
  • Rscript.exeest votre ami pour les scripts batch; utilise le.
  • Pour tout le reste, il y a R.exe.

Autre que cela, comme Marek l'a laissé entendre, le manuel de référence est le mauvais parmi les six manuels disponibles. Essayez l' Introduction à R et les manuels d' installation et d'administration qui ont tous deux des annexes spécifiques pour Windows.

Dirk Eddelbuettel
la source
Merci. Donc je peux oublier Rcmd.exe et R CMD BATCH?
waanders
1
Je veux juste exécuter un script R avec des agurments de ligne de commande dans un fichier batch Windows (shell). Si je comprends bien, R.exe me suffit.
waanders
R Introduction indique "Dans une fenêtre de terminal (...) invoquant par R.exe ou plus directement par Rterm.exe". Alors pour tout le reste Rterm?
Marek
7
Il existe une différence importante entre R.exe et Rterm.exe - Rterm.exe est compilé avec / LARGEADDRESSAWARE et peut allouer 4 Go de RAM lorsqu'il est exécuté sous Windows 64 bits, contrairement à R.exe (nous parlons de R 32 bits sous Windows 64 bits). Pourquoi les personnes R feraient-elles cela uniquement pour Rterm.exe et non pour R.exe, si Rterm.exe est obsolète?
Meh
2
... également une différence importante entre R et Rscript en ce que Rscript ne se charge pas package:methods... et c'est en partie pourquoi il est votre ami pour les scripts batch (temps de démarrage plus rapide): stackoverflow.com/questions/19680462/…
russellpierce