R: legend expression how to add comma between two values and how to supress scientific notation

expression, legend, plot, plotmath, r

Solution

You can use `paste()` (within the call to `expression()`) to splice together character strings and unquoted expressions. The unquoted bits will be evaluated using the special rules exhibited by `example(plotmath)` and `demo(plotmath)`, while the character strings will be printed verbatim.

Here's an example (which also uses `phantom()`, because the `<` operator expects/needs something to both its left and its right):

plot(1)
legend(x = "topleft", 
       legend = expression(paste(r^2==0.9230, ",  ", P<phantom(), "0.0001")))

Problem

I'm trying to format the legend in my plot, but I have to use expression() because of greek and superscripts. However, when I want to display r^2 = 0.45, P<0.0001, I get r^2 = 0.45 P<1e-04, when I type in ``` legend(expression(r^2==0.9230~~P<0.0001)) ``` I tried looking up the list() function but it doesn't help with the commas. I couldn't find anything on using decimals in the expression() function either. Any suggestions would be appreciated. Thanks

Original source