我正在尝试使用RStudio中的rmarkdown和knitr自动化一些文档制作。我的rmarkdown文档有一个YAML标题,它包含一个'params:'对象,我在文档中使用它来参数化我的分析。所以YAML部分看起来像这样:
---
title: 'My Doc Title'
project: 'My project name'
subject: 'Some subject description'
params:
inputFile: 'notYetDefined'
inputYear: '00'
---
我正在调用此YAML代码所在的.rmd文件,使用另一个r脚本文件:
rmarkdown::render('myRMarkdown.rmd', params = list(inputFile = 'inputs1.txt'))
这使我能够将参数的值传递给.rmd以便在文件中使用。 这在r块中很有用(例如params $ inputFile)但是当我尝试在HTML模板中使用这些params时,在调用rmarkdown :: render()时传递的params的值被忽略,而是使用默认的值。
因此,如果HTML模板如下所示:
<div id="coverTitles">
$if(project)$
<p id="coverTitle">$title$</p>
$if(subject)$
<p id="coverSubtitle">$params.inputFile$</p>
$endif$
$endif$
</div>
我得到了输出:
我的文件标题
notYetDefined
当我真正想要的时候:
我的文件标题
inputs1.txt
'inputs1.txt'希望来自rmarkdown :: render()调用,并在编织时传递给HTML模板。
任何人都可以帮助我在模板上正确传递'inputs1.txt'参数进行渲染吗?