Как мне проверить, работает ли R как Rscript? - PullRequest
10 голосов
/ 19 марта 2012

У меня есть код в одном R-файле, который я хочу иметь возможность получать (т.е. определять свои функции и т. Д.) В RStudio во время разработки, а также запускать с использованием синтаксиса #! /usr/bin/env Rscript через командную строку (фактически, используя Hadoop). Для последнего мне нужно, чтобы последнее, что Rscript было сделано, чтобы запустить анализ (т. Е. С помощью вызова функции main()). Для первого я не хочу, чтобы моя функция main() вызывалась. Я хотел бы иметь возможность проверить, выполняется ли код в Rscript (или, альтернативно, в RStudio), чтобы я мог либо выполнить main(), либо нет. Возможно ли это, пожалуйста?

Одним из решений было бы разбить мой код на несколько файлов, но я бы предпочел этого избежать, если это возможно (чтобы немного упростить работу с Hadoop).

Заранее спасибо.

1 Ответ

10 голосов
/ 19 марта 2012

Вы можете использовать interactive, чтобы проверить, работает ли R в интерактивном режиме.interactive вернет FALSE под Rscript и TRUE под (большинство?) GUI.

...