use of bquote
Peter,
thank you. this is perfect. I have been looking for this idiom for years.
xyplot(0 ~ 1, sub=as.expression(
bquote(pi==.(pi) ~ e==.(exp(1)))
))
Can you add this idiom to the examples in the ?plotmath page.
And perhaps also to the ?xyplot page
Rich
On Fri, Nov 22, 2013 at 3:14 AM, peter dalgaard <pdalgd at gmail.com> wrote:
On 22 Nov 2013, at 07:53 , Rolf Turner <r.turner at auckland.ac.nz> wrote:
On 11/22/13 18:47, William Dunlap wrote:
a <- 2; b <- 3; xyplot(1:10 ~ a*(1:10), sub = c(bquote(a == .(a) ~ b==.(b)))) the subtitle contains three copies of the "a = 2 b = 3" phrase. Why does it do that? How do I tell it to give me only one copy?
To avoid it don't wrap bquote() with c(). The following does what you asked for:
a <- 2; b <- 3; xyplot(1:10 ~ a*(1:10), sub = bquote(a == .(a) ~ b==.(b)))
Not for me it doesn't. Without the c() wrapper, I get no subtitle at all. Your recipe seems to work with base graphics and plot() but not with lattice and xyplot(). Also the c() wrapper seems to have no impact when used with plot(). Moreover I am mystified by the impact of the c() wrapper when used with xyplot(). The result returned by bquote() has class "call". The result returned by c(bquote(...)) is a list, of length 1, whose sole entry is of class "call" and is, as one might expect, equal to the result returned by bquote(). But why should passing this length-1 list as the value for "sub" cause a triplication of the subtitle?
I dunno either, but a hint at the reason would be to look at what happens with
xyplot(0 ~ 1, sub=list(quote(1+1)))
When you do computing on the language, sometimes quote()?ing is not sufficient protection against evaluation. That?s what expression objects are for.
A solution seems to be
xyplot(0 ~ 1, sub=as.expression(
bquote(pi==.(pi) ~ e==.(exp(1)))
))
--
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com
______________________________________________ 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.