以下是“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
问题 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。