[R] Sweave question: prevent expansion of unevaluated reused code chunk

Kevin R. Coombes krc at mdacc.tmc.edu
Wed Mar 14 16:39:43 CET 2007


Hi,

I don't know of a standard way to indicate this; I would have suggested

<<combined,expand=FALSE>>

(with expand=TRUE the default), except for the fact that Seth Falcon 
already suggested the same notation in his response...so I can only 
second the motion.

	Kevin

Duncan Murdoch wrote:
> On 3/13/2007 7:02 PM, Kevin R. Coombes wrote:
>> Hi,
>>
>> Consider the following (much simplified) Sweave example:
>>
>> --------------
>>
>> First, we set the value of $x$:
>> <<chunk1,eval=FALSE>>=
>> x <- 1
>> @
>>
>> Then we set the value of $y$:
>> <<chunk2,eval=FALSE>>=
>> y <- 2
>> @
>>
>> Thus, the overall algorithm has this structure:
>> <<combined,eval=FALSE>>=
>> <<chunk1>>
>> <<chunk2>>
>> @
>>
>> <<justDoIt,echo=FALSE>>=
>> <<combined>>
>> @
>>
>> ---------------
>>
>> I'd like to be able to do something like this, where the "combined" 
>> chunk prints out in the final LaTeX document essentially verbatim.  In 
>> particular, I want to see the "<<chunk1>>" unexpanded in that block, 
>> since this gives me a nice conceptual overview of the algorithm. (Of 
>> courser, this is more useful when chunk1 and chunk2 are much longer 
>> than they are in this example....)
>>
>> Is there an option that allows me to get this behavior?
> 
> As others have said, the answer is currently no, but in R 2.5.0 this 
> should be a relatively easy modification (because it has the ability to 
> echo your input, rather than a deparsed version of it).  In the other 
> platforms you've used, is there a standard syntax to indicate whether or 
> not you want the chunks expanded?  I can see either behaviour as being 
> desirable in different circumstances.  Sometimes you want the reader to 
> know about your chunk names, and sometimes you don't.
> 
> Duncan Murdoch



More information about the R-help mailing list