[R] use expression() in a loop
Marc Schwartz
marc_schwartz at comcast.net
Tue Aug 19 00:18:13 CEST 2008
on 08/18/2008 05:00 PM Nanye Long wrote:
> Hi all,
>
> I want to do plot() in a loop to make 10 graphs, so I have some code like
>
> for (i in 1:10) {
> plot(... ... , xlab = expression(g[i]) )
> }
>
> I expect g_1, g_2, and so on appear on x labels, but it simply prints
> g_i for each graph. Does anybody know how to get around this problem?
> Thanks.
>
> NL
Try this:
par(mfrow = c(5, 2))
for (i in 1:10)
plot(1, xlab = bquote(g[.(i)]))
Note the use of bquote() and the use of .(i), which replaces 'i' with
the value of i in each iteration.
See ?plotmath for some examples and ?bquote
HTH,
Marc Schwartz
More information about the R-help
mailing list