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