Dear David, thanks for your reply. The paste() meant to paste the vectors vec1 and vec2 together, so main should be a vector of length 3 of the form "a 1", "b 2", "c 3" # with b being tilde(b) However, with c() it is a vector of length 6: expression("a", tilde(b), "c", "1", "2", "3")
Do you know a solution for that? Cheers, Marius On 2011-04-01, at 19:22 , David Winsemius wrote: > > On Apr 1, 2011, at 12:32 PM, Marius Hofert wrote: > >> Dear expeRts, >> >> I know I can't paste expressions in the normal way, but I just couldn't >> figure out >> how to get the following (I want to paste a character vector to an >> expression vector) >> right with bquote() or substitute. >> >> vec1 <- c("a", expression(tilde(b)), "c") >> vec2 <- c("1", "2", "3") >> main <- as.expression(paste(vec1, vec2)) >> plot(0,0, main=main[2]) > > Do not use `paste` ... it coerces your expression to a character value ... > use `c` instead: > > > main <- as.expression(c(vec1, vec2)) > > plot(1,1, main=main[2]) > > And then, even the as.expression is superfluous: > > > main <- c(vec1, vec2) > > plot(1,1, main=main[2]) > > -- > > David Winsemius, MD > West Hartford, CT > ______________________________________________ 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.