135 votes

Ce qui ' s la meilleure façon d’utiliser R scripts sur la ligne de commande ?

C'est très pratique d'avoir R des scripts pour faire simple parcelles à partir de la ligne de commande. Toutefois, l'exécution de la R de scripts bash n'est pas pratique du tout. L'idéal pourrait être quelque chose comme

#!/path/to/R
...

ou

#!/usr/bin/env R
...

mais je n'ai pas été en mesure de faire l'une de ces travaux.

Une autre option est de garder les scripts purement dans R, par exemple, script.R, et en l'invoquant avec R --file=script.R ou similaire. Toutefois, à l'occasion d'un script va s'appuyer sur d'obscurs commutateurs de ligne de commande à quel point la partie du code qui existe à l'extérieur du script. Exemple: se faufiler choses dans la R de bash par l'intermédiaire d'un local .Rprofile, le désiré des commutateurs sont alors tout --vanilla implique sauf --no-init-file.

Une autre option est un script bash pour stocker les R drapeaux et être facilement exécutable, qui appelle le script R. Le problème est que cela signifie un seul programme a juste obtenu divisé en deux fichiers qui doivent désormais être conserver la synchronisation, transféré à de nouvelles machines, etc.

L'option actuellement, je les méprise, du moins, est l'intégration de la R dans un script bash:

#!/bin/bash
... # usage message to catch bad input without invoking R
... # any bash pre-processing of input
... # etc
R --random-flags <<RSCRIPT
# R code goes here
RSCRIPT

Tout est dans un seul fichier. Il est exécutable et gère facilement les arguments. Le problème est que la combinaison de bash et R comme ce joli beaucoup élimine la possibilité de tout IDE pas de défaut sur l'un ou l'autre, et rend mon cœur blessé vraiment mal.

Est-il une meilleure façon que je suis absent?

18voto

Jouni K. Seppänen Points 15129

Essayez littler. ``fournit le hachage-bang (c'est-à-dire les scripts commençant par #! / some/path) capacité pour GNU R, en plus de la simple utilisation de ligne de commande et tuyauterie.

12voto

Selcuk Bozdag Points 129

Réponse de Miguel Sanchez est la façon dont il devrait être. L’autre manière l’exécution Rscript pourrait être « env » commande à exécuter le système RScript large.

6voto

phatrick Points 31

Si vous êtes intéressé par l’analyse des arguments de ligne de commande à un script R essaient RScript qui est empaqueté avec R à partir de la version 2.5.x

http://stat.ethz.ch/R-Manual/R-patched/Library/utils/html/Rscript.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X