From: David Scott <d.scott_at_auckland.ac.nz>

Date: Tue, 05 Apr 2011 12:42:00 +1200

Loading required package: lattice

> xyplot(a*(1:10)~ 1:10, main = bquote(alpha == .(a))) Error in trellis.skeleton(formula = a * (1:10) ~ 1:10, cond = list(c(1L, :

Date: Tue, 05 Apr 2011 12:42:00 +1200

On 05/04/11 05:58, David Winsemius wrote:

> On Apr 4, 2011, at 1:27 PM, Marius Hofert wrote:

*>
**>> Dear David,
**>>
**>> do you know how to get plotmath-like symbols in both rows?
**>> I tried s.th. like:
**>>
**>> lab<- expression(paste(alpha==1, ", ", beta==2, sep=""))
**>> xlab<- substitute(expression( atop(lab==lab., bold(foo)) ),
**>> list(lab.=lab))
**>> xyplot(0 ~ 0, xlab = xlab)
**> I _did_ have plotmath functions in both rows: But here is your solution:
**>
**> xyplot(0 ~ 0, xlab =
**> expression( atop(paste(alpha==1, " ", beta==2), bold(bla) )) )
**> )
**>
**> Note that `paste` in plotmath is different than `paste` in regular R.
**> It has no `sep` argument. I did try both substitute and bquote on you
**> externally expression, but lattice seems to be doing some non-
**> standard evaluation and I never got it to "work". Using what I thought
**> _should_ work, does work with `plot`:
**>
**> > x=1;y=2
**> > plot(0 ~ 0, xlab = bquote( atop(alpha==.(x)*","~beta==.(y),
**> bold(foo) ) )
**> + )
**>
**> But the same expression throws an error with xyplot:
**> > x=1;y=2
**> > xyplot(0 ~ 0, xlab = bquote( atop(alpha==.(x)*","~beta==.(y),
**> bold(foo) ) )
**> + )
**> Error in trellis.skeleton(formula = 0 ~ 0, cond = list(1L), aspect =
**> "fill", :
**> could not find function "atop"
**>
*

I am not sure where I read it and I can't find it again, but my
understanding is that expressions using bquote with lattice need to be
enclosed in as.expression() to work. That is in contrast to what happens
in base graphics.

> a <- 2 > plot(1:10, a*(1:10), main = bquote(alpha == .(a))) > require(lattice)

Loading required package: lattice

> xyplot(a*(1:10)~ 1:10, main = bquote(alpha == .(a))) Error in trellis.skeleton(formula = a * (1:10) ~ 1:10, cond = list(c(1L, :

object 'alpha' not found

> xyplot(a*(1:10)~ 1:10, main = as.expression(bquote(alpha == .(a))))

Using expression() rather than as.expression() doesn't produce the desired affect. Try it yourself.

As to why this is the case .....

David Scott

-- _________________________________________________________________ David Scott Department of Statistics The University of Auckland, PB 92019 Auckland 1142, NEW ZEALAND Phone: +64 9 923 5055, or +64 9 373 7599 ext 85055 Email: d.scott_at_auckland.ac.nz, Fax: +64 9 373 7018 Director of Consulting, Department of Statistics ______________________________________________ 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.Received on Tue 05 Apr 2011 - 00:44:39 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Tue 05 Apr 2011 - 13:20:26 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*