Порядок вывода выходных данных кода в отчетах Rmd / HTML - PullRequest
0 голосов
/ 07 мая 2019

У меня есть сводная цифра, которую я хочу вставить в начало моего HTML-отчета, созданного с помощью knitr / rmarkdown.Но входные данные этого рисунка зависят от выходных данных, генерируемых фрагментами нижестоящего кода и дочерними документами.Есть ли способ сделать это, не добавляя итоговую цифру в конец документа?

Я попробовал опцию ref.label = 'last' в блоке кода верхнего уровня (с eval = FALSE)добавить дубликат кода в конец документа {r last, eval = TRUE}, но у меня не получилось.

Есть предложения?

1 Ответ

0 голосов
/ 08 мая 2019

Вы можете вставить HTML в любом месте вашего документа, ссылаясь на рисунок под именем knitr, которое будет использоваться для него.

Чтобы выяснить имя, временно измените заголовок YAML на что-то вроде этого:

  output: 
    html_document:
      self_contained: FALSE

Это не будет вставлять цифры в вывод, они будут храниться в отдельном каталоге. Откройте вывод в редакторе или просмотрите источник в браузере и найдите строку, которая отображает рисунок. В моем тестовом примере ниже он отображался с помощью этого кода:

<p><img src="Untitled2_files/figure-html/rnormplot-1.png" width="672" /></p>

Я скопировал эту строку в документ, удалил настройку self_contained и получил следующий исходный код:

---
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

This is the figure before it was generated:

<p><img src="Untitled2_files/figure-html/rnormplot-1.png" width="672" /></p>

And here it is being generated:

```{r rnormplot}
x <- rnorm(100)
plot(x)
```

Одним из ключей является присвоение имени фрагменту кода, который генерирует график (мой называется rnormplot), поскольку это помогает убедиться, что имя рисунка не зависит от остальной части документа.

...