Es muy conveniente tener scripts en R para realizar trazados simples desde la línea de comandos. Sin embargo, ejecutar R desde scripts bash no es nada conveniente. El ideal podría ser algo como
#!/path/to/R
...
o
#!/usr/bin/env R
...
pero no he podido hacer que ninguno de esos funcione.
Otra opción es mantener los scripts puramente en R, por ejemplo script.R
, e invocarlos con R --file=script.R
o similar. Sin embargo, ocasionalmente un script se basará en cambios de línea de comando oscuros en cuyo punto parte del código existe fuera del script. Ejemplo: infiltrar cosas en R desde bash a través de un .Rprofile local, los interruptores deseados son entonces todo --vanilla
implica excepto --no-init-file
.
Otra opción es un script bash para almacenar los indicadores R y ser ejecutable sin dolor, que luego llama al script R. El problema es que esto significa que un solo programa acaba de dividirse en dos archivos que ahora deben mantenerse sincronizados, transferidos a nuevas máquinas juntos, etc.
La opción que menos desprecio actualmente es incrustar la R en 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
Todo está en un solo archivo. Es ejecutable y maneja argumentos fácilmente. El problema es que combinar bash y R de esta manera elimina prácticamente la posibilidad de que cualquier IDE no falle en uno u otro, y hace que mi corazón duela mucho.
¿Hay alguna forma mejor que me esté perdiendo?