Динамический заголовок RMarkdown из фрагмента кода R - PullRequest
0 голосов
/ 27 сентября 2018

Рассмотрим следующий файл .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 голосов
/ 27 сентября 2018

Вы можете вставить произвольный код R в любое место в документе Rmarkdown (включая заголовок), окружив блок галочками ` и поставив r перед кодом:

(обратите внимание на ; между строками кода):

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

Вяжет так:

enter image description here


As @ camille отметил, что вы также можете включить блоки yaml позже в файл, окружив их тем же ---, что и в исходном заголовке.Это позволяет вам использовать переменные, определенные позже в коде:

Вы также можете включить R-чанки, встроенные в уценку, и использовать R-выражения для управления отображением уценки:

---
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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...