[R] How to use expression in label with xYplot
Frank E Harrell Jr
f.harrell at vanderbilt.edu
Wed Jun 22 14:30:09 CEST 2005
PANTERA Laurent wrote:
> Dear R-List,
>
> I want to use the label function (from Hmisc library) to allow for the
> names of my isotopes.
>
> library(Hmisc)
> library(lattice)
> library(grid)
> num <- c("78","137","129m")
> nom <- c("Ge","Cs","Te")
> df <- data.frame(GE78=seq(nom),CS137=seq(nom),TE129m=seq(nom))
>
> if I use this function to create the labels :
>
> lab <- function(i)
> as.expression(bquote(italic(phantom(0)^{.(num[i])}*.(nom[i]))))
>
> label(df$GE78) <- lab(1)
> label(df$CS137) <- lab(2)
> label(df$TE129m) <- lab(3)
>
> all works fine when I use text and xyplot :
>
> plot(1:10)
> text(6,6,labels=label(df$CS137))
> xyplot(CS137~TE129m,data=df,xlab=label(df$CS137),ylab=label(df$TE129m))
>
> but xYplot doesn't work fine
>
> xYplot(CS137~TE129m,data=df)
>
> I have the message :
> Error in parse(file, n, text, prompt) : parse error
>
> if I change the lab function
>
> lab <- function(i)
>
> as.character(paste("italic(phantom(0)^{\"",num[i],"\"}*\"",nom[i],"\")",sep=
> ""))
>
> text and xyplot work fine if I use the parse function and xYplot works fine.
>
> label(df$GE78) <- lab(1)
> label(df$CS137) <- lab(2)
> label(df$TE129m) <- lab(3)
> plot(1:10)
> text(6,6,labels=parse(text=label(df$CS137)))
> xyplot(CS137~TE129m,data=df,xlab=parse(text=label(df$CS137)),ylab=parse(text
> =label(df$TE129m)))
> xYplot(CS137~TE129m,data=df)
>
> What is the good way to use expression in the labels of variables with the
> label function ?
>
> thanks
In Hmisc, labels are used for many contexts in which expressions aren't
allowed, so as of this moment labels must be ordinary character strings.
I typically pass expressions to xYplot using xlab or ylab directly
without using the label.
Frank
>
> ______________________________________________
> 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
>
--
Frank E Harrell Jr Professor and Chair School of Medicine
Department of Biostatistics Vanderbilt University
More information about the R-help
mailing list