Очень удобно иметь R-скрипты для выполнения простых графиков из командной строки. Тем не менее, запуск R из bash скриптов совсем не удобен. Идеал может быть что-то вроде
#!/path/to/R
...
или
#!/usr/bin/env R
...
но я не смог сделать ни одну из этих работ.
Другим вариантом является сохранение скриптов исключительно в R, например. script.R
и вызывать его с помощью R --file=script.R
или аналогичного. Однако иногда script будет полагаться на неясные ключи командной строки, в которых точечная часть кода существует вне script. Пример: прокрасть вещи в R из bash через локальный .Rprofile, нужные переключатели будут тогда все --vanilla
, за исключением --no-init-file
.
Другим вариантом является bash script для хранения флагов R и безболезненно исполняемый, который затем вызывает R script. Проблема в том, что это означает, что одна программа просто разделилась на два файла, которые теперь нужно синхронизировать, переносить на новые компьютеры вместе и т.д.
Опция, которую я в настоящее время наименее презираю, встраивает R в bash script:
#!/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
Все в одном файле. Он является исполняемым и легко обрабатывает аргументы. Проблема состоит в том, что объединение bash и R, как это в значительной степени исключает возможность любой IDE, которая не терпит неудачу на том или ином, и заставляет мое сердце болеть очень плохо.
Есть ли какой-то лучший способ, который я пропускаю?