R Markdown: импорт объектов R скрипта - PullRequest
0 голосов
/ 23 октября 2018

У меня есть R-код, который генерирует несколько графиков и таблиц из моих данных.Я хочу написать отчет в Rmarkdown, в который я хочу включить только графики и таблицы без переписывания кода R.Одним из способов является использование функции read_chunk, но она не служит моей цели.Ниже приведен простой пример того, что мне нужно.

Предположим, у меня есть следующий скрипт R 'Example.r'

x <- 1:4
y <- sin(x)

####----Table
table  <- cbind(x,y)
####----Plot
plot_1 <- plot(x,y) 

Теперь в моем файле уценки R я хочу следующее:

```{r echo=FALSE, cache=FALSE}
knitr::read_chunk('Example.r')
``` 
The following table shows the results:
```{r Table, echo=FALSE}
```
One can depict the result in a plot as well:
```{r Plot, echo=FALSE}
```

В приведенном выше примере я не смогу вставить ни таблицу, ни график, так как оба должны определить входные данные 'x' и 'y', прежде чем будут выполнены команды таблицы и графика.,Есть ли способ реализовать это без жесткого кодирования 'x' и 'y' два раза?

1 Ответ

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

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

  • Сохранитьdraft.rmd и report.rmd рядом.draft.rmd будет вашим рабочим местом с предварительным анализом данных.и report.rmd будет вашим отработанным отчетом

  • Соберите результаты (например, объекты data.frames & ggplot), которые вы хотите поместить в отчет в виде списка.Сохраните список в виде result_181023.rda файла.в папке типа data/

  • Загрузите сохраненный файл result_181023.rda в report.rmd, нарисуйте свои рисунки, распечатайте таблицы и отшлифуйте отчет так, как вам нравится.

Пример:

```{r data echo=FALSE, cache=FALSE}
# a list named result.list
# With a table result.list$df 
# and a ggplot object: result.list$gg1
load("data/result_181023.rda")

``` 

The following table shows the results:

```{r Table, echo=FALSE}
knitr::kable(result.list$df)
```

One can depict the result in a plot as well:
```{r Plot, echo=FALSE}
result.list$gg1
```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...