如何在我呈现的文档之外修改 yaml 指令

sta*_*ant 3 r knitr r-markdown

我想要rmarkdown::render一个R文档而不在文档本身中指明 yaml 选项。

理想情况下,这可能是一个论点rmarkdown::renderknitr::spin喜欢你可以做什么来传递params(请参阅Rmarkdown 参考书)。通常我想要authordate还有output选项。

我认为这是可能的,因为在不指定任何内容的情况下旋转以下文档我得到以下输出(因此必须有一个我希望可以更改的默认参数模板)


在此处输入图片说明


作为一个例子,我怎么能做render一个文档,它会给我与下面说的相同的输出(但当然没有在文档中指定 yaml,即文档中没有任何 yaml

---
title: "Sample Document"
output:
  html_document:
    toc: true
    theme: united
  pdf_document:
    toc: true
    highlight: zenburn
---

#' # Title
Hello world

#+ one_plus_one
1 + 1
Run Code Online (Sandbox Code Playgroud)

eip*_*i10 5

您也可以将 yaml 选项作为参数传递。例如:

---
params: 
  title: "add title"
  author: "add author"
output: pdf_document
title: "`r params$title`"
author: "`r params$author`"
---

This is my document text.
Run Code Online (Sandbox Code Playgroud)

然后,在单独的 R 脚本中:

rmarkdown::render("my_doc.rmd", 
                  params=list(title="My title", 
                              author="eipi10"))
Run Code Online (Sandbox Code Playgroud)