Hi William,

This is exactly what Im trying to do. Your a star,

Thanks


On Wed, Apr 3, 2013 at 5:33 PM, William Dunlap <wdunlap@tibco.com> wrote:

> Are you trying to convert a column name like "Na_mgkg" to a plot label
> like Na (mg kg^-1) ?
> If so you will have to use both string manipulation functions like gsub()
> and expression manipulating
> functions like bquote().  E.g.,
>
> f <- function (name)
> {
>    # add other suffices and their corresponding plotmath expressions to
> the list
>    env <- list2env(list(mgkg = bquote(mg ~ kg^{-1}),
>                         ugkg = bquote(mu * g ~ kg^{-1})),
>                    parent = emptyenv())
>    pattern <- paste0("_(", paste(objects(env), collapse="|"), ")")
>    bquoteExpr <- parse(text=gsub(pattern,
>                                  "~(.(\\1))",
>                                  name))[[1]]
>    # I use do.call() to work around the fact that bquote's first argument
> is not evaluated.
>    do.call(bquote, list(bquoteExpr, env))
> }
>
> d <- data.frame("Na_mgkg"=1:10, "K_ugkg"=10:1)
> plot(Na_mgkg ~ K_ugkg, data=d, xlab=f("K_ugkg"), ylab=f("Na_mgkg"))
>
> Bill Dunlap
> Spotfire, TIBCO Software
> wdunlap tibco.com
>
>
> > -----Original Message-----
> > From: r-help-bounces@r-project.org [mailto:r-help-bounces@r-project.org]
> On Behalf
> > Of Shane Carey
> > Sent: Wednesday, April 03, 2013 8:02 AM
> > To: r-help@r-project.org
> > Subject: [R] Superscript
> >
> > Hi,
> > How do I write a superscript within gsub?
> >
> > I have the following: gsub("_mgkg",expression(paste("mg
> kg"^{-1})),names[1])
> >
> > Thanks
> >
> >
> >
> > --
> > Shane
> >
> >       [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help@r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
>



-- 
Shane

	[[alternative HTML version deleted]]

