Thanks a bunch, Baptiste,

Your lapply call works like a charm. BTW, it works also if a, b, and c are expressions :D

Sebastien

baptiste auguie wrote:
Hi,

You can try this, though I hope to learn of a better way to do it,

a = c(quote(alpha),quote(beta),quote(gamma))
b = lapply(1:3, function(x) as.character(x))
c = c(quote('-10'^th),
  quote('-20'^th),
  quote('-30'^th))

testplot <- function(a,b,c) {

 text <-
   lapply(seq_along(a), function(ii) bquote(.(a[[ii]])*.(b[[ii]])*.(c[[ii]])))

 dev.new()

 plot(-5:5,-5:5,col=0)

 for (i in seq_along(a)) {
   text(x=i,
       y=i,
       labels=text[[i]])
 }
}

testplot(a,b,c)

HTH,

baptiste

2009/11/20 Sebastien Bihorel <sebastien.biho...@cognigencorp.com>:
Dear R-users,

I am developing a plotting function, which receives expressions and
character/numerical vectors as part of the many input arguments and which
tries to concatenate them before displaying the result to the plot. I
currently cannot find a way to make this concatenation works. I have read
several posts in the list that solved this problem by pasting the different
elements together before creating the expressions (like in
http://tolstoy.newcastle.edu.au/R/help/02a/4790.html). I cannot implement
this solution because my expressions and numerical/character vectors are
passed to the function and not create inside the function. I would greatly
appreciate any help with the following example code.

Thank you


testplot <- function(a,b,c) {

 text <- as.expression(paste(a,b,c,sep=' '))

 dev.new()

 plot(-5:5,-5:5,col=0)

 for (i in 1:3) {   text(x=i,
       y=i,
       labels=text[i])
 }
}

a <- as.expression(c(bquote(alpha),bquote(beta),bquote(gamma)))

b <- as.expression(1:3)

c <- as.expression(c(bquote('-10'^th),
                   bquote('-20'^th),
                   bquote('-30'^th)))

testplot(a,b,c)

______________________________________________
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.



______________________________________________
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.

Reply via email to