Use a variable within a plotmath expression
Use bquote()
. Here is an example with dummy data:
set.seed(1)
DF <- data.frame(A = rnorm(100), B = rnorm(100))
mod <- lm(B ~ A, data = DF)
R2Val<-signif(summary(mod)$r.squared[1], 2)
The parts of the expression wrapped in .()
get evaluated in the environment, i.e. the value of R2Val
is substituted.
plot(B ~ A, data = DF)
text(1.5, 2, labels = bquote(R^2 == .(R2Val)), adj = 0, cex = 0.85)
Another potential solution is substitute
, which works similarly:
plot(B ~ A, data = DF)
text(1.5, 2, labels = substitute(R^2 == A, list(A = R2Val)), adj = 0, cex = 0.85)
To combine substitute()
and paste()
, I use the following code;
waic <-1;
chisquare <-2;
plot(x=1:2,y=1:2,
main = substitute(paste(
"chi^2 goodness of fit ",
chi^2*(D/theta) , "=", chisquare ,
". WAIC =",waic),
list(chisquare=chisquare,waic=waic)
)
)
The result is the following;