R代码块中的动态RMarkdown标题

时间:2018-09-27 15:19:13

标签: r r-markdown

请考虑以下.Rmd文件:

---
author: "Test"
date: "September 27, 2018"
output: html_document
---

```{r setup, include=FALSE}
days <- 60
title <- paste0(days, " Days")
```

上面title的输出,即"60 Days",不带引号是我想要输出到.html文件中的标题(该文件原本在上面的title:下如果是硬编码的。)

这可能吗?

1 个答案:

答案 0 :(得分:5)

您可以通过用`勾号围住代码块并将代码r放在代码块中,在Rmarkdown文档中任意位置(包括标题)插入任意R代码:

因此(请注意代码行之间的;

---
author: "Test"
date: "September 27, 2018"
output: html_document
title: '`r days <- 60; paste0(days, " Days")`'
---

这样编织:

enter image description here


正如@camille所指出的,您也可以在文件的后面包含yaml块,方法是使用与初始标头相同的---包围它们。这使您可以使用稍后在代码中定义的变量:

您还可以在markdown中内联R块,并使用R表达式控制markdown的显示:

---
author: "Test"
date: "September 27, 2018"
output: html_document
---

```{r}
debug <- 2
num1 <- 3
```

`r if(debug > 3){"## Debug is > 3"}`
`r if(debug < 3){"## Debug is < 3"}`

The value of num1 is `r num1`

---
title: '`r paste0('Title: the value of debug is ', debug)`'
---

呈现为:

enter image description here