Thanks for providing a detailed solution. I also learned from other responses.
Sent from my iPhone > On Jul 7, 2022, at 4:42 AM, Jeremie Juste <jeremieju...@gmail.com> wrote: > > Hello Naresh, > > Many thanks for sharing. > If I'm looking for efficiency, I tend not to use noweb and use an R > session instead. > > One reason is that caching does not work with noweb > > #+name: test > #+begin_src R :cache yes :session *R* > Sys.sleep(10) > a <- 1 > #+end_src > > #+RESULTS[36c41617bf9aa447ecc28fca8207eab38340d418]: test > : 1 > > > #+name: add1 > #+begin_src R :noweb yes :cache no :session *R* > <<test>> > a + 1 > #+end_src > > #+RESULTS: add1 > : 2 > > > I would proceed in the following way > > #+name: connection > #+begin_src R :exports results :results output :session *R* > ## my code here > #+end_src > > #+begin_src R :exports results :results output graphics file > :session *R* :file figures/fig1.png > ## my code here > #+end_src > > #+begin_src R :exports results output graphics file :file figures/fig2.png > :session *R* > ## my code here > #+end_src > > this will require running the first code chunk once only to run the rest > >> On Thursday, 7 Jul 2022 at 09:22, Greg Minshall wrote: >> you'd have to be careful to not get bitten by the code >> *not* being evaluated, and by it being evaluated too often. (probably >> too clever by half.) > > The comment of Greg is very relevant here as you'll have to manage > updates yourself, and it can get complex very quickly. A potential > pitfall is when the tables in database you are referring to, change. > So in this case I would avoid using :cache yes in the first code chunk > > > I'm also tempted to adopt the following organization > > * setup table > #+name: connection > #+begin_src R :exports results :results output :session *R* > ## my code here > #+end_src > > * output graphs > :PROPERTIES: > :header-args:R: :exports results output graphics file :session *R* > :END: > > #+begin_src R :file figures/fig2.png > ## my code here > #+end_src > > #+begin_src R :file figures/fig1.png > ## my code here > #+end_src > > then I would use (org-babel-execute-subtree) which is bound to C-c C-v > s on the subheading output graphs to regenerate the graphs. > > > HTH, > Jeremie