%Usage: library(tools);Sweave('sol2.nw'); pdflatex sol2 % or : Sweave sol2; pdflatex sol2 (from Linux prompt) \documentclass{article} \usepackage{setspace,relsize} % needed for latex(describe()), \code \usepackage{moreverb} % for verbatimtabinput \usepackage[pdftex]{lscape} % allows tables to be landscape when \usepackage{longtable} \usepackage{url} \newcommand{\code}[1]{\texttt{\smaller #1}} % \title{Cathy's Table} % \author{Theresa A. Scott, MS} \begin{document} % \SweaveOpts{prefix.string=pspdf/baptist} % \setkeys{Gin}{width=1.0\textwidth} % default is 0.8 % \maketitle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \section{Table} <>= library(Hmisc) x <- read.table("testData.csv", sep=",", header=TRUE) newx <- data.frame(unique(x)) drug <- NULL phase <- NULL diseases <- NULL xx <- NULL xx <- with(newx, { for(i in levels(Drug)) { for(k in levels(Phase)) { drug <- c(drug, i) phase <- c(phase, k) y <- Disease[Drug==i & Phase==k] if(length(y) != 0) { m <- paste(y, collapse=", ") } else { m <- " " } diseases <- c(diseases, m) } } reshape(data.frame(cbind(drug, phase, diseases)), idvar="drug", timevar="phase", v.names="diseases", direction="wide") }) tabledata <- with(xx, cbind("Drug"=as.character(drug), "Phase I" = as.character(diseases.I), "Phase II"=as.character(diseases.II), "Phase III"=as.character(diseases.III))) @ <>= latex(tabledata, caption="Diseases in Each Phase of Each Drug", landscape=TRUE, #cgroup="Phase", file="") @ \end{document}