È molto comodo avere script R per eseguire semplici grafici dalla riga di comando. Tuttavia, eseguire R da script bash non è affatto conveniente. L'ideale potrebbe essere qualcosa di simile
#!/path/to/R
...
o
#!/usr/bin/env R
...
ma non sono stato in grado di far funzionare nessuno di questi.
Un'altra opzione è mantenere gli script esclusivamente in R, ad esempio script.R
, e invocarli con R --file=script.R
o simili. Tuttavia, occasionalmente uno script si baserà su oscure opzioni della riga di comando a quel punto parte del codice esiste al di fuori dello script. Esempio: introducendo di nascosto cose in R da bash tramite un .Rprofile locale, le opzioni desiderate sono quindi tutto ciò che --vanilla
implica tranne --no-init-file
.
Un'altra opzione è uno script bash per memorizzare i flag R ed essere eseguibile in modo indolore, che quindi chiama lo script R. Il problema è che questo significa che un singolo programma è stato appena diviso in due file che ora devono essere mantenuti sincronizzati, trasferiti su nuove macchine insieme, ecc.
L'opzione che attualmente disprezzo meno è incorporare la R in uno 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
È tutto in un unico file. È eseguibile e gestisce facilmente gli argomenti. Il problema è che combinare bash e R in questo modo elimina praticamente la possibilità che qualsiasi IDE non fallisca nell'uno o nell'altro e mi fa davvero male il cuore.
C'è un modo migliore che mi manca?