Ответ Дирка здесь - это все, что вам нужно. Ниже приведен минимальный воспроизводимый пример.
Я сделал два файла: exmpl.bat
и exmpl.R
.
exmpl.bat
: set R_Script="C:\Program Files\R-3.0.2\bin\RScript.exe"
%R_Script% exmpl.R 2010-01-28 example 100 > exmpl.batch 2>&1
В качестве альтернативы, используя Rterm.exe
: set R_TERM="C:\Program Files\R-3.0.2\bin\i386\Rterm.exe"
%R_TERM% --no-restore --no-save --args 2010-01-28 example 100 < exmpl.R > exmpl.batch 2>&1
exmpl.R
: options(echo=TRUE) # if you want see commands in output file
args <- commandArgs(trailingOnly = TRUE)
print(args)
# trailingOnly=TRUE means that only your arguments are returned, check:
# print(commandArgs(trailingOnly=FALSE))
start_date <- as.Date(args[1])
name <- args[2]
n <- as.integer(args[3])
rm(args)
# Some computations:
x <- rnorm(n)
png(paste(name,".png",sep=""))
plot(start_date+(1L:n), x)
dev.off()
summary(x)
Сохраните оба файла в одном каталоге и запустите exmpl.bat
. В результате вы получите:
example.png
с некоторым графиком exmpl.batch
со всем, что было сделано Вы также можете добавить переменную среды %R_Script%
:
"C:\Program Files\R-3.0.2\bin\RScript.exe"
и использовать ее в своих командных сценариях как %R_Script%
Различия между RScript
и Rterm
:
Rscript
имеет более простой синтаксис Rscript
автоматически выбирает архитектуру на x64 (см. R Установка и администрирование, 2.6 Суб-архитектуры для деталей ) Rscript
требуется options(echo=TRUE)
в .R-файле, если вы хотите записать команды в выходной файл