TLDR:我想基于模板以编程方式创建一个 rmarkdown 文件,同时填充其参数的值。
rmarkdown::draft()
可用于“基于模板创建(并可选择编辑)R Markdown 文档的草稿。”
我知道rmarkdown文档可以有参数(https://bookdown.org/yihui/rmarkdown/parameterized-reports.html)。
我想以编程方式基于模板创建一个 rmarkdown 文档,同时填充其参数的值,但
draft()
似乎不允许这样做。这可能吗?
如果没有,是否可以对文档进行更改(例如更改标题或某些值?)。
您应该使用
draft()
创建文档,然后使用 @JonSpring 的建议在渲染时填写参数值。
例如,您的模板可能如下所示:
---
title: "`r params$title`"
author: "Duncan Murdoch"
date: "`r params$date`"
output: html_document
params:
title: "A default title"
date: "Today"
topic: "A default topic"
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## Introduction
This is a document about `r params$topic`.
测试时,您可以在 RStudio 中使用“带参数编织”,系统会提示您输入
title
、date
和 topic
。 在生产中,您可以使用
rmarkdown::render("docname.Rmd",
params=list(title = "The Title",
date = Sys.Date(),
topic = "Some topic")