There was an error in the second example.  It seems one can use
list in the way wanted in legend but not in text so for text one would
have to use the do.call approach of Thomas or sapply as shown here:

my.slope.1 <-   3.22
my.slope.2 <-   0.13
my.inter.1 <- -10.66
my.inter.2 <-   1.96

plot(1:5)
L <- list(
  "Intercept:", bquote(.(my.inter.1)%+-%.(my.inter.2)),
  "Slope:", bquote(.(my.slope.1)%+-%.(my.slope.2))
)
text(2, c(4,4,4.25,4.25), sapply(L, as.expression), pos = c(2,4,2,4))


On 7/22/05, Gabor Grothendieck <[EMAIL PROTECTED]> wrote:
> On 7/22/05, Thomas Lumley <[EMAIL PROTECTED]> wrote:
> > On Fri, 22 Jul 2005, Dan Bolser wrote:
> >
> > > On Fri, 22 Jul 2005, Gabor Grothendieck wrote:
> > >
> > >> Try as.expression(bquote(...whatever...))
> > >
> > > Sob, wimper, etc.
> >
> >   a<-7
> >   plot(1)
> >   legend("topleft",legend=do.call("expression",
> >                      list(bquote(alpha==.(a)),bquote(alpha^2+1==.(a^2+1)))))
> >
> > works for me.  The trick is getting the inner calls to bquote
> > evaluated, since expression doesn't evaluate its argument.
> 
> I think legend accepts a list argument directly so that could be
> simplified to just:
> 
>  a<-7
>  plot(1)
>  L <- list(bquote(alpha==.(a)),bquote(alpha^2+1==.(a^2+1)))
>  legend("topleft",legend=L)
> 
> The same comment seems to apply to my prior suggestion about
> as.expression(bquote(...)), namely that one can just write the
> following as text also supports a list argument:
> 
> 
> my.slope.1 <-   3.22
> my.slope.2 <-   0.13
> my.inter.1 <- -10.66
> my.inter.2 <-   1.96
> 
> plot(1:5)
> L <- list(
>  "Intercept:", bquote(.(my.inter.1)%+-%.(my.inter.2)),
>  "Slope:", bquote(.(my.slope.1)%+-%.(my.slope.2))
> )
> text(2, c(4,4,4.25,4.25), L, pos = c(2,4,2,4))
>

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to