Is there a way to generate the usual routine output (say html) by rendering a .Rmd file with a R script, but also keep the objects generated during the process?
The purpose is to keep the objects in the global environment to allow further interactive exploration. I feel this may be a common workflow. Please let me know if you have any suggestions.
I think you could be interested in the html_notebook format
This is because you can get a live preview of your html each time you save the Rmd, and still work inside the Rmd for further analysis with every object in the workspace.
This format uses cache to render quickly during work phase.
This seems something that could be close to you workflow.
Thanks. I have been using R notebook. The issue there is the preview is not good enough for formal report, and I will have to re-knit it. The other issue is that there are some interactive inputs that's not supported by R markdown naturally and better live in the R script.
There is a clean argument within the rmarkdown::render function that, when set to FALSE, will keep all the intermediate files created. Also, when you render the .Rmd file, objects should appear in your global environment (at least in RStudio 1.2.1206.2)
Here's my sample rmd_test.Rmd
---
title: "Test"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## R Markdown
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>.
When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
```{r cars}
summary(cars)
```
```{r}
cars_test <- cars
```
## Including Plots
You can also embed plots, for example:
```{r pressure, echo=FALSE}
plot(pressure)
```
Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot.
that when rendered in an R script via
rmarkdown::render("rmd_test.Rmd", clean = FALSE)
should return the cars_test object to the global environment and also some .md files and the rmd_test_files folder.