% -*- mode: noweb; noweb-default-code-mode: R-mode; -*- \documentclass[a4paper]{article} \title{A Test File} \author{Friedrich Leisch} \SweaveOpts{echo=F} \usepackage{a4wide} \begin{document} \maketitle A simple example that will run in any S engine: The integers from 1 to 10 are <>= 1:10 <>= print(1:20) @ % the above is just to ensure that 2 code chunks can follow each other We can also emulate a simple calculator: <>= 1 + 1 1 + pi sin(pi/2) @ Now we look at Gaussian data: <<>>= x <- rnorm(20) print(x) library(ctest) print(t1 <- t.test(x)) @ Note that we can easily integrate some numbers into standard text: The third element of vector \texttt{x} is \Sexpr{x[3]}, the $p$-value of the test is \Sexpr{format.pval(t1$p.value)}. % $ Now we look at a summary of the famous iris data set, and we want to see the commands in the code chunks. Note that the summary needs to be \texttt{print()}ed explicetly, because eval would discard it otherwise. I consider this a feature, because it allows for much finer control on what gets into the final report. \SweaveOpts{echo=true} % the following code is R-specific, as data(iris) will not run in Splus. % Hence, we mark it as R code. <>= data(iris) print(summary(iris)) @ %def \begin{figure}[htbp] \begin{center} <>= pairs(iris) @ \caption{Pairs plot of the iris data.} \end{center} \end{figure} \begin{figure}[htbp] \begin{center} <>= boxplot(Sepal.Length~Species, data=iris) @ \caption{Boxplot of sepal length grouped by species.} \end{center} \end{figure} % R is not Splus, hence this chunk will be ignored: <>= function.that.comes.only.with.Splus(x) @ \end{document}