Как объединить и распечатать несколько фрагментов кода в RMarkdown? - PullRequest
0 голосов
/ 23 октября 2018

Мой документ Rmarkdown выглядит примерно так:

---
yaml metadata
---

```{r}
x <- 10
```

Some code explanation

```{r}
y <- 10
```

Some more code explanation

```{r}
z <- x + y
```

The final output

```
# 10
```

Поскольку я следую принципам грамотного программирования, то как распечатать эти несколько кусков кода, соединенных вместе, чтобы я мог распечатать весь рабочий кодследующим образом без объяснения кода.Кроме того, я могу выбрать определенные куски кода и не все и распечатать их?

x <- 10
y <- 10
z <- x + y

1 Ответ

0 голосов
/ 23 октября 2018

Хитрость заключается в использовании опции чанка knitr ref.label="" (которая принимает одну или несколько меток блока).Это требует, чтобы вы маркировали свои куски (по крайней мере те, которые вы хотите повторить).Для демонстрации я «скрыл» (echo=FALSE) один из блоков, чтобы показать, что вывод может быть смещен (как в https://stackoverflow.com/a/30243074/3358272), хотя он все еще выполняется на месте.

---
output: md_document
---

```{r block1}
x <- 10
```

Some code explanation, next code block hidden here but still evaluated

```{r block2, echo = FALSE}
y <- 10
```

Some more code explanation

```{r block3}
z <- x + y
```

The final output

```
# 10
```

# Annex 1

Each block individually:

```{r showblock1, ref.label='block1', eval=FALSE}
```
```{r showblock2, ref.label='block2', eval=FALSE}
```
```{r showblock3, ref.label='block3', eval=FALSE}
```


# Annex 2

If you want them more compactly concatenated:

```{r showblocks, ref.label=c('block1','block2','block3'), eval=FALSE}

Создает этот файл уценки при визуализации:

    x <- 10

Some code explanation, next code block hidden here but still evaluated

Some more code explanation

    z <- x + y

The final output

    # 10

Annex 1
=======

Each block individually:

    x <- 10

    y <- 10

    z <- x + y

Annex 2
=======

If you want them more compactly concatenated:

    x <- 10
    y <- 10
    z <- x + y

Вы можете выполнить рендеринг в любой формат, который вы хотите, результаты должны быть похожими.

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