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.

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@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to