Il est très pratique d'avoir des scripts R pour faire des graphiques simples à partir de la ligne de commande. Cependant, exécuter R à partir de scripts bash n'est pas du tout pratique. L'idéal pourrait être quelque chose comme
#!/path/to/R
...
ou
#!/usr/bin/env R
...
mais je n'ai pas réussi à faire fonctionner l'un ou l'autre de ces éléments.
Une autre option consiste à conserver les scripts uniquement dans R, par exemple script.R
, et à les invoquer avec R --file=script.R
ou similaire. Cependant, parfois, un script s'appuiera sur des commutateurs de ligne de commande obscurs à quel point une partie du code existe en dehors du script. Exemple: en glissant des choses dans R à partir de bash via un profil .R local, les commutateurs souhaités sont alors tout ce que cela --vanilla
implique sauf --no-init-file
.
Une autre option est un script bash pour stocker les indicateurs R et être exécutable sans douleur, qui appelle ensuite le script R. Le problème est que cela signifie qu'un seul programme vient d'être divisé en deux fichiers qui doivent maintenant être synchronisés, transférés ensemble sur de nouvelles machines, etc.
L'option que je méprise le moins actuellement consiste à intégrer le 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 combiner bash et R comme ça élimine à peu près la possibilité que n'importe quel IDE n'échoue pas sur l'un ou l'autre, et me fait vraiment mal au cœur.
Y a-t-il une meilleure façon de me manquer?