[ESS] knitr

cberry at tajo.ucsd.edu cberry at tajo.ucsd.edu
Tue Oct 23 19:23:53 CEST 2012


Michael Lawrence <lawrence.michael at gene.com> writes:

> On Mon, Oct 22, 2012 at 6:44 PM, Rasmus <rasmus at gmx.us> wrote:
>
>> Michael Lawrence <lawrence.michael at gene.com> writes:
>>

[...]
>>
>> > I'm very close to taking on an extension of babel's R backend to make it
>> as
>> > convenient as knitr but with the interactive features. It would also
>> > support multiple outputs via a report generator abstraction that could be
>> > implemented for arbitrary targets.
>>
>> There's an approach that I like here
>>
>>     https://github.com/chasberry/orgmode-accessories
>>
>> I'm not sure whether it solves the graphics issues you mentioned.
>>
>>
> Thanks, I've seen that. But what I want to do is much different. The idea
> is to generate the reports incrementally and interactively using the active
> document of org-babel. These export based solutions are best for publishing
> the results of a completed analysis. I want something that I can use FOR
> analyzing the data. Something like iPython's notebook.
>

I look forward to seeing what your revision of the babel backend
produces, but the reason I put together 'ravel' was that I
do most of my work in babel -- 'incrementally and interactively'.

I became frustrated using babel in a project that had a lot of branches
in it. The size of data sources and amount of processing made recreating
objects 'on-the-fly' was too lengthy - some sort of caching was needed.
I needed to be able to join together lots of pieces to create a
intermediate results, communications with collaborators, and finally a
publishable document with supplements. And I needed to track what I was
doing so I could redo as data was added or upstream filters changed.

The new org-mode export engine (in the contrib dir) parses an org
document (or subtree) into a lisp object. So you can operate on that
object to produce other objects and/or a document. To me this seemed
like a useful tool for extending babel. Admittedly, it as not as slick
as an approach implemented purely in elisp would be, but piggybacking on
that export engine made it eady to get up and running.

My usual workflow starts with executing a src block that runs a knitr
doc that merely loads a lot of cached objects. Then I work in org-mode
adding and revising src blocks and eventually splicing them together in
other src blocks that have <<noweb-references>> in them (and text) to
produce the objects and documents (slideshows and white papers) I need
to move a little further forward.

Publishing the final document was definitely in my sights - my
experience attempting this entirely in org-babel was part of the
motivation. But I am happy with the improvements in my interactive
workflow. 

The usability issues you noted with all the ":file whatever.png"
machinations are only addressed downstream in the knitr docs. I find I
am not needing so many of these now, 'though. I look forward to seeing
your work on this and how you implement the report generator
abstraction.

Best,

Chuck



More information about the ESS-help mailing list