Hi,
I have the following data as labels:
DATA_names<-c("A_ugkg_FA","S_mgkg_XRF"
,"Cl_mgkg_XR")
and I need to convert to
-1
A (ug kg )
-1
S (mg kg )
-1
Cl (mg kg )
I used the following piece of code to convert the following labels in the
past, but cant get it to work for the new labels:
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))
}
The labels in the past were:
DATA_names<-c("A_ugkg","S_mgkg" ,"Cl_mgkg")
Thanks
--
Shane
[[alternative HTML version deleted]]
Are you saying that you want to ignore the additional suffixes, _FA, _XRF,
and _XR? If so, you can do so like this,
sapply(strsplit(DATA_names, "_"), function(x) paste(x[1:2],
collapse="_"))
If not, what do you want to happen with those suffixes?
Jean
On Tue, Jul 9, 2013 at 6:20 AM, Shane Carey <careyshan@gmail.com> wrote:
> Hi,
>
> I have the following data as labels:
>
> DATA_names<-c("A_ugkg_FA","S_mgkg_XRF"
,"Cl_mgkg_XR")
>
> and I need to convert to
>
>
> -1
> A (ug kg )
>
> -1
> S (mg kg )
>
> -1
> Cl (mg kg )
>
>
> I used the following piece of code to convert the following labels in the
> past, but cant get it to work for the new labels:
>
> 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))
> }
>
> The labels in the past were:
> DATA_names<-c("A_ugkg","S_mgkg"
,"Cl_mgkg")
>
> 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.
>
[[alternative HTML version deleted]]
Hi,
May be this helps:
?gsub("_","
",gsub("(.*)_.*","\\1",DATA_names))
#[1] "A ugkg"? "S mgkg"? "Cl mgkg"
sapply(gsub("_","
",gsub("(.*)_.*","\\1",DATA_names)),f)
$`A ugkg`
A ~ (mu * g ~ kg^{
??? -1
})
$`S mgkg`
S ~ (mg ~ kg^{
??? -1
})
$`Cl mgkg`
Cl ~ (mg ~ kg^{
??? -1
})
A.K.
----- Original Message -----
From: Shane Carey <careyshan at gmail.com>
To: "r-help at r-project.org" <r-help at r-project.org>
Cc:
Sent: Tuesday, July 9, 2013 7:20 AM
Subject: [R] Labelling
Hi,
I have the following data as labels:
DATA_names<-c("A_ugkg_FA","S_mgkg_XRF"
,"Cl_mgkg_XR")
and I need to convert to
? ? ? ? ? ? -1
A (ug kg? ? )
? ? ? ? ? ? -1
S (mg kg? ? )
? ? ? ? ? ? ? -1
Cl (mg kg? ? )
I used the following piece of code to convert the following labels in the
past, but cant get it to work for the new labels:
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))
}
The labels in the past were:
DATA_names<-c("A_ugkg","S_mgkg" ,"Cl_mgkg")
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.