Matt Bannert Matt Bannert - 1 month ago 12
R Question

Is there a way to knitr markdown straight out of your workspace using RStudio?

I wonder whether I can use

knitr
markdown to just create a report on the fly with objects stemming from my current workspace. Reproducibility is not the issue here. I also read this very fine thread here.

But still I get an error message complaining that the particular object could not be found.

1) Suppose I open a fresh markdown document and save it.

2) write a chunk that refers to some
lm
object in my workspace. call
summary(mylmobject)


3) knitr it.

Unfortunately the report is generated but the regression output cannot be shown because the object could not be found. Note, it works in general if i just save the object to .Rdata and then load it directly from the markdown file.

Is there a way to use objects in R markdown that are in the current workspace?
This would be really nice to show non R people some output while still working.

Answer

RStudio opens a new R session to knit() your R Markdown file, so the objects in your current working space will not be available to that session (they are two separate sessions). Two solutions:

  1. file a feature request to RStudio, asking them to support knitting in the current R session instead of forcibly starting a new session;
  2. knit manually by yourself: library(knitr); knit('your_file.Rmd') (or knit2html() if you want HTML output in one step, or rmarkdown::render() if you are using R Markdown v2)