Conflict between xtable and Hmisc when using Sweave?
Dear David, I would like to use summarize(Hmisc) and print.xtable(xtable) in a single Sweave document, but a conflict with the 'label' function prohibits this at the moment! Would you be able to correct the conflicting code? I will gladly test the new package! I have tried latex(Hmisc) to export the anova table, but results are not promising! I prefer xtable!! Thanks, Sander.
Frank E Harrell Jr wrote:
Sander Oom wrote:
Dear Frank,
I have a Sweave document in which I export anova (aov) tables to Latex
and calculate some summary statistics with summarize{Hmisc} for a
graph (as in the example below).
I currently use the following code for the aov tables:
<<results=tex>>=
tmp <- datGrassHC[datGrassHC$Loc > 0 & datGrassHC$Loc < 9 ,]
tmpAov <- aov(Height~Geology*Altitude*Origin*BinInOut , data=tmp)
tmpTable <- xtable (tmpAov ,
caption="ANOVA table for vegetation height.",
label="tab:AnovaHeight"
)
print.xtable(tmpTable, type="latex", floating=TRUE,
table.placement="ht", caption.placement="top",
latex.environments=c("center"))
)
@
I used xtables, because it has a working aov example. I would be happy
to use an alternative if I knew how! Would you have sample code to
illustrate how to export an aov table to Latex using latex{Hmisc}.
Thanks very much for your help,
Sander.
Frank E Harrell Jr wrote:
Sander Oom wrote:
Dear R users,
The Sweave code below runs fine, as it is. However, an error occurs
when the line 'library(xtable)' is uncommented:
Error: chunk 1
Error in "label<-"(`*tmp*`, value = "month") :
no applicable method for "label<-"
Is anybody aware of this and knows a workaround?
Thanks,
Sander.
*******************
\documentclass[a4paper]{article}
\title{Sweave Test for summarize}
\author{Sander Oom}
\usepackage{a4wide}
\begin{document}
\maketitle
\begin{figure}[ht]
\begin{center}
<<fig=TRUE,echo=FALSE>>=
# library(xtable)
library(Hmisc)
set.seed(111)
dfr <- expand.grid(month=1:12, year=c(1997,1998), reps=1:100)
month <- dfr$month
year <- dfr$year
y <- abs(month-6.5) + 2*runif(length(month)) + year-1997
s <- summarize(y, llist(month,year), smedian.hilow, conf.int=.5)
print(xYplot(Cbind(y,Lower,Upper) ~ month, groups=year, data=s,
keys='lines', method='alt', type='b'))
@
\end{center}
\end{figure}
\end{document}
************************
> version
_ platform i686-pc-linux-gnu arch i686 os linux-gnu system i686, linux-gnu status major 2 minor 1.0 year 2005 month 04 day 18 language R
I feel this is an xtable problem because Hmisc has being using label and label<- since 1991. Frank
There are ways to make functions from one area override those from another, but the real solution is to ask the xtable author not to have functions that conflict with the (older) Hmisc package. -Frank
-------------------------------------------- Dr Sander P. Oom Animal, Plant and Environmental Sciences, University of the Witwatersrand Private Bag 3, Wits 2050, South Africa Tel (work) +27 (0)11 717 64 04 Tel (home) +27 (0)18 297 44 51 Fax +27 (0)18 299 24 64 Email sander at oomvanlieshout.net Web www.oomvanlieshout.net/sander