On Thu, Aug 19, 2010 at 6:21 PM, Kevin Coombes
<kevin.r.coom...@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.

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

Reply via email to