从渲染调用中的参数更改 rmarkdown pdf 的名称和标题

use*_*875 5 r r-markdown

以下是“test_param.Rmd”文件中的一些 R markdown 代码:

---
output: pdf_document
params:
  number: "1"
title: `r params$number`
---

```{r setup, include=TRUE}

knitr::opts_chunk$set(echo = TRUE)

```

```{r one, include = TRUE}

i = 2
#data = data.frame(x = c(1,2,3))

#for(i in 1:dim(data)[1]){

 # plot(i*1000)

#}

```

`r params$number`
Run Code Online (Sandbox Code Playgroud)

此处使用 .r 文件调用:

library(rmarkdown)

rmarkdown::render("C://Users//me//Desktop//test_param.Rmd", 
                  params = list(number= "1"))
Run Code Online (Sandbox Code Playgroud)

当我运行 .r 时出现此错误

Error in yaml::yaml.load(enc2utf8(string), ...) : 
  Scanner error: while scanning for the next token at line 4, column 8found character that cannot start any token at line 4, column 8
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?

我用“not”来做标题:r params$number

blm*_*ore 4

问题 1在这里得到了很好的回答,您可以使用它params向 YAML 配置中注入新标题:

---
output: html_document
params: 
    new_title: "My Title!"
title: "`r params$new_title`"
---
Run Code Online (Sandbox Code Playgroud)

然后渲染文件的输出文件名可以通过output_file的参数设置rmarkdown::render。