[R] Conflict between xtable and Hmisc when using Sweave?

Sander Oom slist at oomvanlieshout.net
Mon May 16 12:23:12 CEST 2005


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




More information about the R-help mailing list