R Markdown参数与变量之间的差异

时间:2019-04-18 18:23:55

标签: r r-markdown

---
title: "Untitled"
output: html_document
params:
  constant1: 22
  constant2: 9
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
constant3 <- 32
constant4 <- 99
```

在上面的R Markdown中,为什么我要在YAML中将常量定义为参数,而不是在设置代码块中定义常量?使用这两种方法有什么好处/不同之处?

1 个答案:

答案 0 :(得分:2)

利用参数的优点是您可以将这些值传递给对render()函数的调用。

rmarkdown::render("Untitled.Rmd", params = list(
  constant1 = 123,
  constant2 = 113
))

这意味着您可以使用参数矩阵创建对render()的循环或矢量化调用,从而根据这些参数生成文档的多个变体。一种应用是根据用户输入(例如通过Shiny应用)生成自定义报告。

如果您的用例不包括需要将参数或参数矩阵传递给render(),则没有太大区别。