From ggrothendieck at gmail.com  Fri Aug 20 00:27:20 2010
From: ggrothendieck at gmail.com (Gabor Grothendieck)
Date: Thu, 19 Aug 2010 18:27:20 -0400
Subject: [Rd] Does anyone use Sweave (RweaveLatex) option "expand=FALSE"?
In-Reply-To: <4C6DAE74.7010002@gmail.com>
References: <4C6D80E3.2090806@gmail.com> <4C6D9431.4020104@units.it>
	<4C6D9634.4030003@gmail.com> <4C6D9D26.9060505@gmail.com>
	<1282253385.1554.5.camel@matt-laptop> <4C6DAE74.7010002@gmail.com>
Message-ID: <AANLkTikLEP6f=J3P=75zeP9+NRp2c756U_jhSLz_BawJ@mail.gmail.com>

On Thu, Aug 19, 2010 at 6:21 PM, Kevin Coombes
<kevin.r.coombes at gmail.com> wrote:
> I picked the example from segmenting chromosomes for a reason. ?I have a
> fair chunk of code that deals with not quite exceeding the amount of RAM
> available in the machine sitting on my desktop. ?If I use functions, then
> the pass-by-value semantics of R will push me beyond the limits at some
> points. ?(This is an empirical statement, not a theoretical one. ?I was
> bitten by it several times while trying to analyze a couple of these
> datasets. And, yes, I know I can get around this by buying a bigger and
> better machine; it's on order...) ?The real point is that using functions
> can be detrimental to the efficiency of the program, in ways that have real
> world consequences.
>
> I haven't thought about doing the same thing with expressions. Expressions
> don't have quite the same semantics as chunks, and you'd have to make sure
> the evaluation was delayed so that you cold use the current values of things
> that were computed in the meantime.... and I already know how to do this
> with chunks without having to think so hard.
>
> Using expressons would, however, help with the one difficulty that I have
> with reusing <<chunks>> (independent of whether or not I use
> 'expand=FALSE'). ?I usually work inside emacs, using the
> emacs-speaks-statistics (ESS) package. ESS doesn't know how to evaluate the
> <<chunk>> call inside another chunk. so if I want to step through the code
> during development, I have to jump around myself to locate the source
> chunks. ?With expressions that wouldn't matter.
>
> As I ramble on about this, it occurs to me that the underlying issue is that
> <<chunks>> are not first class objects either in the LaTeX world or in the R
> world part of Sweave. ?If there were a way to promote them to first class
> objects somehow, then it might make my use of ESS easier while
> simultaneously making it easier for Duncan to figure out how to report the
> correct line numbers. ?But I only have an extremely vague idea of how one
> might start to do that...
>

You could try a macro instead and see how it performs.  There is an
article by Thomas Lumley in R News 2003-1 and an implementation in the
gtools package.



[Rd] Does anyone use Sweave (RweaveLatex) option "expand=FALSE"?
Gabor Grothendieck