I tried to follow your suggestions, but without success:
Error: couldn't find function "xtable.mylabel<-"
... resulting from the code below.
Any suggestions?
Thanks,
Sander.
library(xtable) xtable.mylabel <- get("label", "package:xtable") library(Hmisc) # provides summarize
set.seed(1) temperature <- rnorm(300, 70, 10) month <- sample(1:12, 300, TRUE) year <- sample(2000:2001, 300, TRUE) g <- function(x)c(Mean=mean(x,na.rm=TRUE),Median=median(x,na.rm=TRUE)) summarize(temperature, month, g)
## From Venables and Ripley (2002) p.165. N <- c(0,1,0,1,1,1,0,0,0,1,1,0,1,1,0,0,1,0,1,0,1,1,0,0) P <- c(1,1,0,0,0,1,0,1,1,1,0,0,0,1,0,1,1,0,0,1,0,1,1,0) K <- c(1,0,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,1,1,0,1,0) yield <-c(49.5,62.8,46.8,57.0,59.8,58.5,55.5,56.0, 62.8,55.8,69.5,55.0, 62.0,48.8,45.5,44.2,52.0, 51.5,49.8,48.8,57.2,59.0,53.2,56.0) npk <- data.frame(block=gl(6,4), N=factor(N), P=factor(P), K=factor(K), yield=yield) ## to show the effects of re-ordering terms contrast the two fits tmpAov <- aov(yield ~ block + N * P + K, npk) tmpTable <- xtable (tmpAov , caption="ANOVA table for vegetation height.") xtable.mylabel(tmpTable) <- paste("tab:AnovaHeight") print.xtable(tmpTable, type="latex", floating=TRUE, table.placement="h", caption.placement="top", latex.environments=c("center"), title=first.word(deparse(substitute(object))), append=FALSE )
Liaw, Andy wrote:
You need to add the namespace to the source package, by adding a NAMESPACE file. There's an R News article by Prof. Tierney on how to do this. Also see the `Writing R Extensions' manual. You should get the package maintainer to do that, as that constitute a change in the package source code.
Short of that, you should make sure that Hmisc is loaded later than xtable, and use something like what Gabor suggested to access label() in xtable. (I would use some other name, though: label() in xtable is already an S3 generic).
Andy
From: Sander Oom
Hi Andy and Gabor,
Thanks for your help so far! I am discovering another R dimension.
Trying to put my head around all this....the conflict actually exposes itself when calling summarize(Hmisc). Summarize(Hmisc) calls label internally, so I can not call it explicitly. Simply calling label(xtable) explicitly will not solve the problem with summarize(Hmisc).
Thus, I should use namespaces as Andy is suggesting. Now I just need to know how I 'add namespace' to a library? Does 'loadNamespace' have something to do with it?
Thanks very much for your help!
Sander.
## From Venables and Ripley (2002) p.165. N <- c(0,1,0,1,1,1,0,0,0,1,1,0,1,1,0,0,1,0,1,0,1,1,0,0) P <- c(1,1,0,0,0,1,0,1,1,1,0,0,0,1,0,1,1,0,0,1,0,1,1,0) K <- c(1,0,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,1,1,0,1,0) yield <-c(49.5,62.8,46.8,57.0,59.8,58.5,55.5,56.0, 62.8,55.8,69.5,55.0, 62.0,48.8,45.5,44.2,52.0, 51.5,49.8,48.8,57.2,59.0,53.2,56.0) npk <- data.frame(block=gl(6,4), N=factor(N), P=factor(P), K=factor(K), yield=yield) ## to show the effects of re-ordering terms contrast the two fits tmpAov <- aov(yield ~ block + N * P + K, npk) tmpTable <- xtable(tmpAov , caption="Test export of ANOVA table.", label="tab:Anova") print.xtable(tmpTable, type="latex", floating=TRUE, table.placement="h", caption.placement="top", latex.environments=c("center"))
Alternatively, using namespace for xtable:
tmpTable <- xtable(tmpAov , caption="Test export of ANOVA table.") xtable:::label(tmpTable) <- paste("tab:Anova") print.xtable(tmpTable, type="latex", floating=TRUE, table.placement="ht", caption.placement="top", latex.environments=c("center"))
Gabor Grothendieck wrote:add namespace toEven without a namespace one could explicitly reference the label in xtable via:
xtable.label <- get("label", "package:xtable")
On 5/16/05, Liaw, Andy <[EMAIL PROTECTED]> wrote:One possible solution without renaming the functions is toprobably would be mucheither xtable or Hmisc. Given the size of Hmisc, itrefer to theeasier to do that with xtable.
With namespace in xtable, you can do xtable:::label() togladly testlabel() 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, data=tmp)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:tables to LatexDear Frank,
I have a Sweave document in which I export anova (aov)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*BinInOutsample code towould be happytmpTable <- 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. Ito use an alternative if I knew how! Would you havelatex{Hmisc}.illustrate how to export an aov table to Latex usinggroups=year, data=s,error occursThanks 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, anconf.int=.5)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,print(xYplot(Cbind(y,Lower,Upper) ~ month,______________________________________________using labelI feel this is an xtable problem because Hmisc has beingkeys='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
not to haveand 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 authorfunctions 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 [EMAIL PROTECTED] Web www.oomvanlieshout.net/sander
______________________________________________ R-help@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
R-help@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 --
-------------------------------------------- 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 [EMAIL PROTECTED] Web www.oomvanlieshout.net/sander ---------------------------------------------
------------------------------------------------------------------------------ Notice: This e-mail message, together with any attachment...{{dropped}}
______________________________________________ R-help@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