[R] plotmath and logical operators?

MacQueen, Don m@cqueen1 @ending from llnl@gov
Mon Aug 20 22:53:39 CEST 2018


I would like to use plotmath to annotate a plot with an expression that includes a logical operator.

## works well
tmp <- expression(x >= 3)
plot(1)
mtext(tmp)

## not so well
tmp <- expression(x >= 3 &  y <= 3)
plot(1)
mtext(tmp)

Although the text that's displayed makes sense, it won't be obvious to my non-mathematical audience.

I'd appreciate suggestions.


I've found a work-around that gets the annotation to look right
  tmpw <- expression(paste( x >= 3, " & ", y <= 3) )
  plot(1)
  mtext(tmpw)


But it breaks my original purpose, illustrated by this example:

df <- data.frame(x=1:5, y=1:5)
tmp <- expression(x >= 3 & y <= 3)
tmpw <- expression(paste( x >= 3, " & ", y <= 3) )
with(df, eval(tmp))
[1] FALSE FALSE  TRUE FALSE FALSE
with(df, eval(tmpw))
[1] "FALSE  &  TRUE" "FALSE  &  TRUE" "TRUE  &  TRUE"  "TRUE  &  FALSE" "TRUE  &  FALSE"

Thanks
-Don

--
Don MacQueen
Lawrence Livermore National Laboratory
7000 East Ave., L-627
Livermore, CA 94550
925-423-1062
Lab cell 925-724-7509
 
 



More information about the R-help mailing list