bookdown / rmarkdown / knitr: открыть документ с (графическим) результатом более позднего фрагмента кода? - PullRequest
0 голосов
/ 25 мая 2018

Представьте себе упрощенный документ bookdown / rmarkdown, который выглядит примерно так:

---
title: "Test Doc"
author: "Balin"
date: "May 25, 2018"
output: 
  bookdown::pdf_document2:
    toc: no
---

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

<!-- Placeholder - See question -->

This stands in for an extensive report where `code`, its documentation
and interpretation of its results are integrated:

1. We load some data:
   ```{r data-loading}
    my_data <- cars
   ```

2. We (rougly) explore that data and report on it:
   ```{r data-exploration}
   summary(my_data)
   ```

3. We transform the data:
   ```{r data-transform}
   my_data <- log2(my_data)
   ```

4. ... many, many more steps ...

5. We perform a (central) graphical analysis:
   ```{r data-plot}
   plot(my_data)
   ```

6. We state some interpretation ... etc.

В таком отчете я намереваюсь заменить бит <!-- Placeholder - See question --> на «Резюме» /Раздел «Sneak-Peak», в центре которого находится графический вывод чанка data-plot.Это достижимо в bookdown / rmarkdown / knitr при сохранении code / повествовательной интеграции с учетом относительного позиционирования?

1 Ответ

0 голосов
/ 25 мая 2018

Да, вы можете использовать knitr::fig_chunk() для динамического извлечения пути к фигуре, созданной в конкретном фрагменте кода, например,

---
title: "Test Doc"
author: "Balin"
date: "May 25, 2018"
output: 
  bookdown::pdf_document2:
    toc: no
---

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

# Executive Summary {-}

Here is an amazing discovery!

![](`r knitr::fig_chunk('data-plot', 'pdf')`)

# Detailed analysis

This stands in for an extensive report where `code`, its documentation
and interpretation of its results are integrated:

1. We load some data:
   ```{r data-loading}
    my_data <- cars
   ```

2. We (rougly) explore that data and report on it:
   ```{r data-exploration}
   summary(my_data)
   ```

3. We transform the data:
   ```{r data-transform}
   my_data <- log2(my_data)
   ```

4. ... many, many more steps ...

5. We perform a (central) graphical analysis:
   ```{r data-plot}
   plot(my_data)
   ```

6. We state some interpretation ... etc.

PDF output

Чтобы это работало для других типов выходных форматов, вам может потребоваться изменить расширение имени файла pdf.Один из способов сделать это может быть:

![](`r knitr::fig_chunk('data-plot', if (knitr::is_latex_output()) 'pdf' else 'png')`)

Конечно, это предполагает, что вы используете устройство pdf для выходных форматов LaTeX / PDF, а png для других форматов (которые используются по умолчанию).настройки для графических устройств в R Markdown).

...