Use a variable within a plotmath expression

后端 未结 3 990
傲寒
傲寒 2020-11-30 06:45

I\'m trying to place the results of a regression (i.e., R2) in a graph, but can\'t seem to figure out how to call a variable from within an expression (it pastes the variabl

3条回答
  •  南方客
    南方客 (楼主)
    2020-11-30 07:23

    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)
    

提交回复
热议问题