[R] Substitute in legend

Deepayan Sarkar deepayan at stat.wisc.edu
Fri Aug 22 23:51:46 CEST 2003


On Friday 22 August 2003 16:35, Peter Dalgaard BSA wrote:
> partha_bagchi at hgsi.com writes:
> > I tried to use substitute in legend as follows:
> >
> > pval <- 0.04
> > plot(0)
> > legend(1,0.5,substitute(hat(theta) == p, list(p = pval)))
> >
> > For some reason the legend is repeated 3 times.
> >
> > Any suggestions or is this a bug?
>
> It's a bug. The code is looking at length(legend), but that is not the
> number of legends when mode "call" objects are concerned. A workaround
> is
>
> legend(1,0.5,as.expression(substitute(hat(theta) == p, list(p = pval))))

Just out of curiosity: ?legend says 

  legend: a vector of text values or an 'expression' of length >= 1 to
          appear in the legend.

Is an object of mode "call" either ? (is.expression() returns FALSE.) Are they 
expected to work wherever expressions are supposed to work ?

Deepayan




More information about the R-help mailing list