[R] Sweave: R code in self defined TeX-commands

Don MacQueen macq at llnl.gov
Fri Jun 25 16:28:46 CEST 2004


Here are a couple of ideas (not tested). Neither is as succinct as 
what you had in mind.


\newcommand{\meansd}{The mean is \Sexpr{mean(tmpvar)} and the 
standard deviation is  \Sexpr{sd(tmpvar)} .

<<echo=FALSE,results=hide>>=
tmpvar <- age
@
\meansd

<<echo=FALSE,results=hide>>=
tmpvar <- weight
@
\meansd

<<echo=FALSE,results=hide>>=
tmpvar <- height
@
\meansd


###### or perhaps ########
<<echo=FALSE,results=hide>>=
meansd <- function(x) cat('The mean is ',mean(x),' and the standard 
deviation is ',sd(x),'.',sep='')
@

<<results=tex>>=
meansd(age)
@

<<results=tex>>=
meansd(weight)
@

<<results=tex>>=
meansd(height)
@

-Don

At 11:54 AM +0200 6/25/04, Martin Posch wrote:
>Hi,
>
>I need to produce a standard report for several variables in Sweave
>and thus would need the possibility to define a TeX-command which 
>includes R-code like
>
>\newcommand{\meansd}[1]{The mean is \Sexpr{mean(#1)} and the 
>standard deviation is  \Sexpr{sd(#1)} .
>                      }
>and then just write
>
>\meansd{age}
>
>in the latex code to get the whole sentence.
>
>
>The above does not work, since Sweave ignores the \newcommand and 
>does not expand the \statistics
>
>Is there an alternative way to achieve this?
>
>Thanks,
>Martin Posch
>
>
>
>Department of Medical Statistics
>Medical University of Vienna
>Schwarzspanierstr. 17, A-1090 Vienna
>Tel.:  +43-1-4277-63205
>
>______________________________________________
>R-help at stat.math.ethz.ch mailing list
>https://www.stat.math.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


-- 
--------------------------------------
Don MacQueen
Environmental Protection Department
Lawrence Livermore National Laboratory
Livermore, CA, USA




More information about the R-help mailing list