É muito conveniente ter scripts R para fazer plotagens simples na linha de comando. No entanto, executar R a partir de scripts bash não é nada conveniente. O ideal pode ser algo como
#!/path/to/R
...
ou
#!/usr/bin/env R
...
mas não fui capaz de fazer nenhum desses funcionar.
Outra opção é manter os scripts puramente em R, por exemplo script.R
, e invocá-los com R --file=script.R
ou semelhante. No entanto, ocasionalmente, um script dependerá de opções de linha de comando obscuras em que parte do código existe fora do script. Exemplo: inserir coisas em R do bash por meio de um .Rprofile local, as opções desejadas são, então, tudo --vanilla
indica, exceto --no-init-file
.
Outra opção é um script bash para armazenar os sinalizadores R e ser executável sem dor, que então chama o script R. O problema é que isso significa que um único programa acabou de ser dividido em dois arquivos que agora devem ser mantidos em sincronia, transferidos para novas máquinas juntos, etc.
A opção que eu menos desprezo atualmente é incorporar o R em um 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
Tudo está em um único arquivo. É executável e lida facilmente com argumentos. O problema é que combinar bash e R dessa forma elimina praticamente a possibilidade de qualquer IDE não falhar em um ou no outro e faz meu coração doer muito.
Existe alguma maneira melhor que estou perdendo?