Существует два способа запуска R, либо в интерактивном режиме, либо в неинтерактивном режиме.
Если вы запустите R в интерактивном режиме, вы сможете изучить текущую среду и состояниепеременные, когда ваш скрипт встречает ошибку.Но вы не сможете предоставить файл для запуска или передать ему аргументы из командной строки.Вам придется мучительно делать что-то вроде этого, вручную , каждый раз:
$ R
> argv = c('a', 'b', 'c')
> source('/path/to/script.R')
Если вы каким-либо образом предоставите файл для запуска из командной строки, вы запустите R внеинтерактивный режим.Это относится ко всем следующим командам:
$ R /path/to/script.R a b c
$ R < /path/to/script.R
$ R -e "argv = c('a', 'b', 'c'); source('path/to/script.R')"
$ R CMD BATCH /path/to/script.R a b c
$ Rscript --vanilla /path/to/script.R a b c
В неинтерактивном режиме при возникновении ошибки вы не получите трассировку.Вы даже не получите ни имени скрипта, который выдал ошибку, ни номера строки.Трудно рассматривать R как настоящий язык программирования , когда он находится в таком плачевном состоянии.Это скорее эксперимент любителя.
Из этого я делаю вывод, что язык R не предназначен для использования в каких-либо автоматизированных системах и не должен использоваться, если вы строите конвейер.Потому что вы не сможете отладить его.Конечно, R не следует использовать для создания сценариев, которые могут принимать аргументы из командной строки.R хорош только для интерактивного, исследовательского анализа и визуализации данных.