[EMAIL PROTECTED] 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))))
Or more general:
do.call("expression", list(substitute(hat(theta) == p, list(p = pval))))
This way you can include several substitute() calls within that list, to allow an expression of length > 1 which is frequently required for legends.
I think it is not really a bug, because this is documented, but inserting if(is.call(legend)) legend <- as.expression(legend) would not break anything, AFAICS.
Uwe Ligges
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help