Ein paar Möglichkeiten, es zu tun.
Sie können die Graviszeichen-R Brocken in Ihrem YAML verwenden und die Variablen angeben, bevor machen Ausführung:
---
title: "`r thetitle`"
author: "`r theauthor`"
date: "July 14, 2015"
---
foo bar.
Dann:
R -e "thetitle='My title'; theauthor='me'; rmarkdown::render('test.rmd')"
Oder Sie commandArgs()
direkt in der RMD und Futtermittel verwenden können sie in nach --args
:
---
title: "`r commandArgs(trailingOnly=T)[1]`"
author: "`r commandArgs(trailingOnly=T)[2]`"
date: "July 14, 2015"
---
foo bar.
Dann :
R -e "rmarkdown::render('test.rmd')" --args "thetitle" "me"
Hier, wenn Sie args R -e ... --args --name='the title'
benannt haben, Ihre commandArgs(trailingOnly=T)[1]
ist die Zeichenfolge "--name = foo" - es ist nicht sehr klug ist.
In jedem Fall, ich denke, Sie würden eine Art von Fehlerprüfung/Standardüberprüfung wünschen. Ich mache normalerweise ein Kompilierungs-Skript, z.B.
# compile.r
args <- commandArgs(trailingOnly=T)
# do some sort of processing/error checking
# e.g. you could investigate the optparse/getopt packages which
# allow for much more sophisticated arguments e.g. named ones.
thetitle <- ...
theauthor <- ...
rmarkdown::render('test.rmd')
Und dann laufen R compile.r --args ...
die Argumente liefern in welcher auch immer Format, das ich mein Skript geschrieben habe, zu behandeln.