创建 rmarkdown 文件并以编程方式更新参数

问题描述 投票:0回答:1

TLDR:我想基于模板以编程方式创建一个 rmarkdown 文件,同时填充其参数的值。

我知道

rmarkdown::draft()
可用于“基于模板创建(并可选择编辑)R Markdown 文档的草稿。”

我知道rmarkdown文档可以有参数(https://bookdown.org/yihui/rmarkdown/parameterized-reports.html)。

我想以编程方式基于模板创建一个 rmarkdown 文档,同时填充其参数的值,但

draft()
似乎不允许这样做。这可能吗?

如果没有,是否可以对文档进行更改(例如更改标题或某些值?)。

r r-markdown
1个回答
0
投票

您应该使用

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")
© www.soinside.com 2019 - 2024. All rights reserved.