## Math in R plots

R provides a way (see **?mathplot**) to insert math into titles and labels in plots. An example: **plot(1, main=expression(S[A]))**. This will create an S with a subscript A () in the title of the plot.

But what if you have a variable called **x**, and you want and the value of **x** in the title? For example, if the value of **x** is 3, you want to appear.

I’m sure there’s a simpler solution, but here’s the simplest one I’ve got:

- First, note that it would suffice to type in
**plot(1, main = expression(paste(S[A], ” = “, 3)))**. Of course, we want the value of**x**there, no matter what it is — not just 3. If we try**plot(1, main = expression(paste(S[A], ” = “, x)))**, that will result in appearing in the title, not what we want. - The solution is to create the string we would have typed if we knew the value of
**x**. We do this like this:**s <- paste(“plot(1, main = expression(paste(S[A], \” = \”, “, x, “)))”).**If we now print the string**s**, it will show**“plot(1, main = expression(paste(S[A], \” = \”, 3 )))”**(if the value of**x**is 3). - Now, we “run the string”:
**eval(parse(text = s))**.

There are some more complicated but flexible solutions, like integrating postscript output from latex into R graphs (using psfrag).

leave a comment