Чтобы получить аргументы, передаваемые из командной строки R, вы можете использовать функцию commandArgs()
, но, к сожалению, R CMD Sweave
не поддерживает дополнительные параметры командной строки.Тем не менее, вы все равно можете вызвать Sweave с помощью R -e
, например,
R -e "Sweave('MyReport.Rnw')" --args PatientId=1
В MyReport.Rnw
вы выполняете некоторую обработку текста на commandArgs(TRUE)
, которая в этом случае дает вам строку символов PatientId=1
.
Но я считаю, что лучше использовать функцию Sweave()
в R-скрипте напрямую ;Например, в этом случае вы можете записать процесс в виде сценария, например
PatientId <- 1
Sweave("MyReport.Rnw")
, а в MyReport.Rnw
вы напрямую используете глобальную переменную PatientId
.Если вы хотите создать серию отчетов, вы можете даже использовать цикл для PatientId
.