Question

This paper inspired me to check out Emac's org-mode a bit and currently I try to assess what's more suitable for writing my documents: knitr/Sweave (I'm mainly using R to do my programming) or org-mode.

What I really like about knitr is the option to externalize the actual source (watch out: the declaration of labels/names in the R script seems to have changed from ## ---- label ------- to ## @knitr label; see ?read_chunk) and "link" them to the actual literate programming/reproducible research document (as opposed to actually writing the code in that very document):

"Import" with

<<import-external, cache=FALSE>>=
read_chunk('foo-bar.R') # has label/name 'foo-bar'
@

and "re-use" by referencing the respective labels with

<<foo-bar>>=
@

Question

Is this also possible in org-mode or am I bound to putting the actual code into the .org document?

I found this, but I did not find any specific notion of linking/importing external source code files and be able to execute them by having the linked code inside

#+BEGIN_SRC R
<linked code>
#+END_SRC

Background

I do see that this approach might contrast the general paradigm of literate programing to some extend. But I like to work in a somewhat "atomic" style and thus it feels more natural to me to keep the files separated at first and then mash everything together dynamically.

Était-ce utile?

La solution

Would named code blocks help?

 #+NAME: foo-bar
 #+BEGIN_SRC R
   source(foo-bar.R)
 #+END_SRC

And then evaluate (i.e. load) the code when you actually need it:

 #+CALL: foo-bar()

See manual for more details.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top