Andreas Leha <andreas.leha <at> med.uni-goettingen.de> writes: > > Hi Michael, > > Michael Weylandt <michael.weylandt <at> gmail.com> writes: > > > Hi, > > > > I want to put a summary of my analysis at the beginning of a document > > using results calculated at the end of the document. Is this possible?
[snip] > > > > Is this possible in a single pass? Not quite. The method suggested by Andreas computes the result twice. If there is any randomness in the results (as in the example) you will get a different answer in the summary than when the block is later evaluated. > > I've played with #+NAME and > > <<block()>> but haven't gotten the out-of-order evaluation quite > > right. You can use #+results: the-mean before #+NAME: the-mean #+begin_src R mean(x) #+end_src which is after 'theanalysis' block. And if the format is not pleasing add a filter that reformats the result. > > > > Michael > > > > How about something along: > > --8<---------------cut here---------------start------------->8--- > #+TITLE: Test > #+AUTHOR: Michael Weylandt > #+PROPERTY: header-args:R :session *__R__* :exports both > > * Summary > The mean result was src_R[:exports results :var analysisresults=theanalysis()]{mean(unlist(analysisresults))} > > * Analysis, > We do some complicated calculations: > > #+name: theanalysis > #+BEGIN_SRC R > x <- rnorm(5) > #+END_SRC > --8<---------------cut here---------------end--------------->8--- It might be better to mark all the blocks in the doc ':eval never' and ':exports code' or ':exports none' and put blocks before the first headline that do all the calcs from noweb references, and put the #+results lines (if you need them) wherever you want them in the doc. Like so: --8<---------------cut here---------------start------------->8--- #+TITLE: Test #+AUTHOR: Michael Weylandt #+PROPERTY: header-args:R :session *__R__* :exports both #+NAME: master #+BEGIN_SRC R :noweb yes :results silent :exports results <<theanalysis>> #+END_SRC * Summary The mean result was src_R[:exports results]{mean(x)} * Analysis, We do some complicated calculations: #+name: theanalysis #+BEGIN_SRC R :eval never :exports code x <- rnorm(5) #+END_SRC --8<---------------cut here---------------end--------------->8--- IMO, needing ':exports results' for inline src blocks is a bug not a feature. HTH, Chuck