Ответ 1
R CMD BATCH
- это все, что у нас было много лет назад. Это сильно затрудняет работу ввода-вывода и оставляет файлы позади.
Все стало лучше, сначала с littler, а затем с Rscript. Оба могут использоваться для линий "shebang", таких как
#!/usr/bin/r
#!/usr/bin/Rscript
и оба могут использоваться с такими пакетами, как getopt и optparse, что позволяет вам писать правильные R-скрипты, которые могут действовать как команды. Если у них их десятки, начиная с простых таких, которые я могу назвать install.r pkga pkgb pkgc
и которые будут устанавливать все три и их зависимости) для меня из командной строки, не вызывая запрос R:
#!/usr/bin/env r
#
# a simple example to install one or more packages
if (is.null(argv) | length(argv)<1) {
cat("Usage: installr.r pkg1 [pkg2 pkg3 ...]\n")
q()
}
## adjust as necessary, see help('download.packages')
repos <- "http://cran.rstudio.com"
## this makes sense on Debian where no packages touch /usr/local
lib.loc <- "/usr/local/lib/R/site-library"
install.packages(argv, lib.loc, repos)
И так же, как Карл, у меня есть cronjobs, вызывающие похожие R-скрипты.
Изменить на 2015-11-04: На прошлой неделе littler теперь также включен в CRAN.