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

Liaw, Andy andy_liaw at merck.com
Mon May 16 14:46:15 CEST 2005


One possible solution without renaming the functions is to add namespace to
either xtable or Hmisc.  Given the size of Hmisc, it probably would be much
easier to do that with xtable.

With namespace in xtable, you can do xtable:::label() to refer to the
label() in xtable specifically.

Andy

> From: Of Sander Oom
> 
> 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
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! 
> http://www.R-project.org/posting-guide.html
> 
> 
>




More information about the R-help mailing list