У меня есть файл, называется a.r
, он имеет chmod
755,
sayHello <- function(){
print('hello')
}
sayHello()
Как я могу запустить это через командную строку?
r
command-line
Саит
источник
источник
#!/usr/bin/env Rscript
Ответы:
Если вы хотите, чтобы вывод выводился на терминал, лучше всего использовать Rscript
Обратите внимание, что при использовании
R CMD BATCH a.R
этого вместо перенаправления вывода на стандартный вывод и отображения на терминале будет создан новый файл с именем a.Rout.Еще одна вещь, которую стоит отметить при использовании Rscript, это то, что он не загружает
methods
пакет по умолчанию, что может вызвать путаницу. Поэтому, если вы полагаетесь на все, что предоставляют методы, вы захотите явно загрузить это в свой скрипт.Если вы действительно хотите использовать
./a.R
способ вызова скрипта, вы можете добавить соответствующий#!
в верхней части скриптаЯ также отмечу, что если вы работаете в * Unix-системе, есть полезный пакет littler , который обеспечивает простую передачу командной строки в R. Может быть необходимо использовать littler для запуска блестящих приложений через скрипт? Более подробную информацию можно найти в этом вопросе .
источник
R CMD BATCH
это ужасно. Все, кроме этого ...R CMD INSTALL -l ~/R/lib-dev
Это не отвечает на вопрос напрямую. Но кто-то может оказаться здесь, потому что он хочет запустить терминал R из терминала. Например, если вы просто хотите установить несколько отсутствующих пакетов и выйти, этот oneliner может быть очень удобным. Я часто использую его, когда вдруг обнаруживаю, что пропускаю некоторые пакеты, и хочу установить их там, где я хочу.
Для установки в папку по умолчанию:
Чтобы установить в место, которое требует
root
привилегий:источник
Rscript -e "getwd()"
в терминале. Rscript будет печатать только выходные данные команды, а не полное сообщение о запуске R.r -e "cat(getwd(),'\n')"
если у вас установлен littler. В этом ответе Дирк Эддельбюттель объясняет разницу между Литтлером и Rscript.R -e 'install.packages("package", repos="http://cran.us.r-project.org")'
R -r 'options(warn=2); install...'
, чтобы остановить выполнение и получить ненулевой код ошибки в случае сбоя установки. В противном случае любыеinstall.packages
ошибки являются просто предупреждениями.Еще один способ запуска сценария R из командной строки:
или с
--save
.Смотрите также Как лучше всего использовать R-скрипты в командной строке (терминале)? ,
источник
Вам нужна
?Rscript
команда для запуска R-скрипта из терминала.Проверьте http://stat.ethz.ch/R-manual/R-devel/library/utils/html/Rscript.html
пример
источник
Как запустить Rmd в команде с knitr и rmarkdown несколькими командами, а затем загрузить файл HTML в RPubs
Вот пример: загрузите две библиотеки и выполните команду R
источник
R -e 'markdown::rpubsUpload("normalDev","NormalDevconJuly.html")'
Еще один способ использования Rscript для систем * Unix - это подстановка процессов .
Который, очевидно, делает то же самое, что и принятый ответ, но это позволяет вам манипулировать и запускать ваш файл, не сохраняя при этом мощности командной строки, например:
Подобный
Rscript -e "Rcode"
ему также позволяет запускать без сохранения в файл. Поэтому его можно использовать вместе со скриптами, которые генерируют R-код, например:источник
Просто для документации, иногда вам нужно запустить скрипт как
sudo
:источник