[R] difficulty with R expressions in text/legend
David Winsemius
dwinsemius at comcast.net
Sun Jul 11 05:22:27 CEST 2010
On Jul 10, 2010, at 10:45 PM, David Winsemius wrote:
>
> On Jul 10, 2010, at 8:58 PM, Murat Tasan wrote:
>
>> hi, i'm trying to prepend some plain (i.e. unevalutated) text to a
>> typographically evaluated R expression in a legend(...) call.
>>
>> here's a working legend(...) call that is close to what i'd like
>> (where x and y are returned from an lm(...) call):
>>
>> legend("topleft", legend = c(bquote(R^2 == .(summary(x)$r.squared)),
>> bquote(R^2 == .(summary(y)$r.squared))), fill = c("blue", "red"))
>>
>> this evaluates the R^2 values for my x and y objects, then displays
>> them in the plot legend with colored boxes adjacent to them.
>>
>> now the hard part (for me, at least :-/), i'd like to add some text
>> (e.g. "data set 1" and "data set 2") to each line of the legend,
>> right
>> before the typographically-displayed R^2 == some_value text.
>
> Would be nice (and would follow the guidance of the Posting Guide if
> you were to offer a method for construction something like "x" and
> "y" as well as stating explicitly what plotting function you were
> using. My guess (untested) is that you can get what you want by
> simply sticking in those strings (unquoted) into your "working"
> bquote argument.
>
> legend("topleft", legend = c(bquote(data set 1 R^2 == .(summary(x)
> $r.squared)),
> bquote(data set 2 R^2 == .(summary(y)$r.squared))), fill = c("blue",
> "red"))
Nah. didn't work with an example constructed from the lm and summary
page examples.
e1 <- as.expression(paste("data set 1 R^2 == ",
summary(lm.D90)$r.squared))
e2 <- as.expression(paste("data set 2 R^2 == ",
summary(lm.D90)$r.squared ))
plot(1,1)
legend("topleft", legend = c( e1,e2 ), fill = c("blue", "red"))
This was mostly successful, although it did not get the ^2 interpreted
as a superscript. You may want to wrap an sprintf or a format call
around that r.squared.
>
> --
> David.
>
>>
>> basically, a legend that looks like so (with the expression part
>> evaluated and typed out correctly):
>> data set 1 R^2 == some_value
>> data set 2 R^2 == some_other_value
>>
>> i've tried a seemingly countless number of paste/substitute/
>> expression
>> combinations, but cannot seem to get what i'd like.
>> anyone know of a nice call to create these two strings to display on
>> my plot?
>>
>> thanks for any help!
>>
>> -murat
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>
> David Winsemius, MD
> West Hartford, CT
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list