在plotmath表达式中使用变量

sin*_*sse 27 r plotmath

我试图将回归的结果(即R2)放在图表中,但似乎无法弄清楚如何从表达式中调用变量(它粘贴变量名称).

这是我的代码.

R2Val <- signif(summary(sMod_pre90)$r.squared[1], 2)
text(92, 4, expression(paste(R^2, " = ", R2Val)), adj = 0, cex = 0.85)
Run Code Online (Sandbox Code Playgroud)

Rei*_*son 30

使用bquote().以下是虚拟数据的示例:

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)
Run Code Online (Sandbox Code Playgroud)

包含在表达式中的部分.()在环境中进行求值,即值R2Val被替换.

plot(B ~ A, data = DF)
text(1.5, 2, labels = bquote(R^2 == .(R2Val)), adj = 0, cex = 0.85)
Run Code Online (Sandbox Code Playgroud)

另一种可能的解决方案是substitute:

plot(B ~ A, data = DF)
text(1.5, 2, labels = substitute(R^2 == A, list(A = R2Val)), adj = 0, cex = 0.85)
Run Code Online (Sandbox Code Playgroud)