[Rd] Does anyone use Sweave (RweaveLatex) option "expand=FALSE"?
Matt Shotwell
shotwelm at musc.edu
Thu Aug 19 23:29:44 CEST 2010
On Thu, 2010-08-19 at 17:07 -0400, Kevin Coombes wrote:
> I use it, frequently. The idea for it goes back to some of Knuth's
> original literate programming ideas for developing weave and tangle when
> he was writing TeX (the program). I want to be able to document the
> pieces of some complex algorithm without having to see all of the gory
> details. For instance, I have code that looks like the following.
> (Note that this is typed on the fly rather than copied from actual
> source, so there may be typos.)
>
> <<mainloop,keep.source=TRUE,expand=FALSE>>=
> for (i in 1:nSamples) {
> <<getInfoAboutThisSample>>
> for (j in 1:nChromosomes) {
> <<getChromosomeDataForCurrentSample>>
> <<normalizeChromosomeData>>
> <<findSegments>>
> <<computeSignificance>>
> <<writeResults>>
> }
> }
> @
>
> Each of the <<chunks>> is itself a fairly long piece of code defined and
> documented somewhere else. (Some of them may themselves be written in
> the same form to reduce the final size of a chunk to something a human
> has a chance of understanding. That's the difference between weave and
> tangle in the original implementation.) By blocking expansion, I can
> focus on the main steps without having them lost in pages and pages of code.
>
Couldn't you achieve the same amount of abstraction using function
calls, rather than embedded code chunks? The reader can then see real
code, rather than non-code, or meta-code, or whatever. Alternatively,
represent the code chunks as R expressions, then evaluate the
expressions at the appropriate points.
-Matt
> So I vote strongly for retaining "expand=FALSE".
>
> Best,
> Kevin
>
> Duncan Murdoch wrote:
> > On 19/08/2010 4:29 PM, Claudia Beleites wrote:
> >> I never used it.
> >>
> >> I got curious, though. What would be a situation that benefits of
> >> this option?
> >>
> >
> > When I put it in, I thought it would be for people who were writing
> > about Sweave.
> >
> > Duncan Murdoch
> >
> >> Maybe a use case could be found by "brute force" (grep all .Rnw files
> >> on CRAN for the option?
> >>
> >> Claudia
> >>
> >>
> >
> > ______________________________________________
> > R-devel at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
--
Matthew S. Shotwell
Graduate Student
Division of Biostatistics and Epidemiology
Medical University of South Carolina
More information about the R-devel
mailing list