Я работаю над документом RMarkdown, который использует объекты, которые занимают много времени для создания и преобразования. Синтаксис похож на это:Избегайте повторного создания объектов в документе RMarkdown через оператор if
---
title: "Example"
author: "Test"
date: "October 29, 2015"
output: pdf_document
---
Example
```{r}
test_exc <- "NO"
if(exists("some_dta") == FALSE) {
set.seed(1)
# This data is big and messy to transform and I don't want to do it twice
some_dta <- data.frame(speed=runif(n = 1000),nonsense=runif(1000))
test_exc <- "YES"
}
```
You can also embed plots, for example:
```{r, echo=FALSE}
plot(some_dta)
```
Was the code executed: `r test_exc`
Как указывается в коде выше, я хотел бы, чтобы избежать повторного выполнения кода if(exists("some_dta") == FALSE) { ... }
. Как показано в коде ниже кода внутри цикла выполняется:
Я хотел бы знать, если есть способ заставить RStudio механизм создания уценки, чтобы понять, что я эти объекты существуют где-то и есть не нужно создавать их снова.
Благодарим за проявленный интерес. Я использую '.rds' файлы много. В идеале, я бы не хотел создавать много из них, также я связываюсь с сетевыми ресурсами в этом файле, поэтому толчок массивных файлов через сеть не помогает скорости. – Konrad
@Konrad Итак, вы хотите вытаскивать объекты, хранящиеся в памяти, из сеанса консоли? [См. Этот вопрос] (http://stackoverflow.com/questions/11155182/is-there-a-way-to-knitr-markdown-straight-out-of-your-workspace-using-rstudio). – DunderChief
Чтение объектов, уже загруженных в глобальную среду, было бы идеальным решением. Затем я мог бы легко их модифицировать и избегать повторного создания при компиляции документа. Вариант кеша будет работать, но возможность загрузки из глобальной среды будет идеальной. – Konrad