背景
我正在尝试通过图例中的bquote建立回归方程。使用我的R代码的版本#1 (请参见图片下方的R代码),得到以下图片。
但是,如果 b(请参见图片下方的R代码)为“负”,我需要。为了达到这个标准,我想出了我的R代码的版本#2 (请参见图片下方的R代码)。

我想知道如何解决版本2 R代码中的错误(请参见图片下方的R代码)吗?+ r - 在R中将条件回归方程写为图例时出错-LMLPHP
版本#1:

plot(1, ty = 'n')
a = .234; b = -.335
legend("center", legend = bquote(bold(Outcome[i] == .(round (a , 2))~ + ~.
(round(b , 2))~"\u00D7"~Predictor[i])), bty = "n")
版本2:
legend("center", legend = bquote(bold(Outcome[i] == .(round (a , 2))~
ifelse(.(b > 0), + , "") ~.(round(b , 2))~"\u00D7"~Predictor[i])),
   bty = "n")

最佳答案

对我来说,最简单的解决方法(以及我在这种情况下通常会做的事情-在您的情况下,我什至不确定是否可以在ifelse中调用bquote)是在调用外部而不是内部使用if-else:

plot(1, ty = 'n')
a = .234; b = -.335

if (b > 0) {

 legend("center", legend = bquote(bold(Outcome[i] == .(round (a , 2))~ + ~.
                                       (round(b , 2))~"\u00D7"~Predictor[i])), bty = "n")

} else {

 legend("center", legend = bquote(bold(Outcome[i] == .(round (a , 2))~ .
                                       (round(b , 2))~"\u00D7"~Predictor[i])), bty = "n")

}

输出:

r - 在R中将条件回归方程写为图例时出错-LMLPHP

08-25 04:07