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:
Even 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 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   [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

Reply via email to