[R] Sweave and the "[" function

hadley wickham h.wickham at gmail.com
Tue Sep 5 06:03:32 CEST 2006


> <<>>=
> str(women)
> women$height
> women[,1]
> "["(women,1)
> @
>
> to show the equivalence of  three methods of extracting an element from
> a data.frame.
>
> However Sweave returns the last of these as
>
> women[1]
>
> in the S input chunk
>
> How can I force it not to do this and return "["(women,1)

I don't think you can.  Sweave parses your R code and from then on
uses the internal R representation.  R normalises the parse tree in
certain ways (eg. strips comments, formats source code, and clearly
normalises some function calls).  Since sweave uses this, and not the
original text, I don't think there is anyway to get around this,
unless there is some trick during parsing.

(And don't forget women[[1]])

Hadley



More information about the R-help mailing list