[R] Superscript
William Dunlap
wdunlap at tibco.com
Wed Apr 3 18:33:41 CEST 2013
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 at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
> Of Shane Carey
> Sent: Wednesday, April 03, 2013 8:02 AM
> To: r-help at 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 at 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.
More information about the R-help
mailing list